官方范例都跑不通
收藏
##data类型问题
import paddle.fluid as fluid
import paddle.fluid.layers as layers
emb_dim = 256
vocab_size = 10000
data = fluid.layers.data(name='x', shape=[-1, 100, 1],
dtype='int32')
emb = fluid.layers.embedding(input=data, size=[vocab_size, emb_dim], is_sparse=True)
batch_size = 20
max_len = 100
dropout_prob = 0.2
seq_len = 100
hidden_size = 150
num_layers = 1
init_h = layers.fill_constant( [num_layers, batch_size, hidden_size], 'float32', 0.0 )
init_c = layers.fill_constant( [num_layers, batch_size, hidden_size], 'float32', 0.0 )
rnn_out, last_h, last_c = layers.lstm(emb, init_h, init_c, max_len, hidden_size, num_layers, dropout_prob=dropout_prob)
rnn_out.shape # (-1, 100, 150)
last_h.shape # (1, 20, 150)
layt_c.shape # (1, 20, 150)
0
收藏
请登录后评论
1.7版本的embedding只支持fluid接口的,所以报的数据类型错误是正常的,我截了几张图给你看一下


另外提一下,官方为了放你能快速理解api的含义,所以可能对范例进行优化,删去了静态图中大部分的网络搭建,如果想深入了解lstm的用法,建议去AI Studio找一下相应项目或者去交流群问问大家;
最后,paddle由于在不断优化,文档内容可能不能及时更新,还希望多多理解~