首页 Paddle框架 帖子详情
RNN 实现情感分析,请教代码的意思
收藏
快速回复
Paddle框架 问答模型训练深度学习 452 2
RNN 实现情感分析,请教代码的意思
收藏
快速回复
Paddle框架 问答模型训练深度学习 452 2

self.rnn = nn.SimpleRNN(256, 256, num_layers=2, direction='forward',dropout=0.5) 前面这个forward 参数,不是双向的,但是后面的代码注释是双向的意思,尝试删除下面这句代码就会出错,

hidden = paddle.concat((hidden[-2,:,:], hidden[-1,:,:]), axis = 1

# 定义RNN网络
class MyRNN(paddle.nn.Layer):
def __init__(self):
super(MyRNN, self).__init__()
self.embedding = nn.Embedding(vocab_size, 256)
self.rnn = nn.SimpleRNN(256, 256, num_layers=2, direction='forward',dropout=0.5)
self.linear = nn.Linear(in_features=256*2, out_features=2)
self.dropout = nn.Dropout(0.5)

def forward(self, inputs):
emb = self.dropout(self.embedding(inputs))
#output形状大小为[batch_size,seq_len,num_directions * hidden_size]
#hidden形状大小为[num_layers * num_directions, batch_size, hidden_size]
#把前向的hidden与后向的hidden合并在一起
output, hidden = self.rnn(emb)
hidden = paddle.concat((hidden[-2,:,:], hidden[-1,:,:]), axis = 1)
#hidden形状大小为[batch_size, hidden_size * num_directions]
hidden = self.dropout(hidden)
return self.linear(hidden)

0
收藏
回复
全部评论(2)
时间顺序
DeepGeGe
#2 回复于2022-04

direction (str,可选) - 网络迭代方向,可设置为forward或bidirect(或bidirectional)。默认为forward。

可以看看API文档:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/nn/SimpleRNN_cn.html

0
回复
l
lyulgq
#3 回复于2022-04

多谢回复,我知道可选参数,我想问的是:为什以删掉那句代码就报错

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户