请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

双向LSTM的Dropout层怎么加

with tf.variable_scope("ner_variables", reuse=tf.AUTO_REUSE):
            fw_cell = tf.nn.rnn_cell.BasicLSTMCell(args.rnn_size, state_is_tuple=True)
            bw_cell = tf.nn.rnn_cell.BasicLSTMCell(args.rnn_size, state_is_tuple=True)
            if is_training:
                fw_cell = tf.nn.rnn_cell.DropoutWrapper(fw_cell, output_keep_prob=0.5)
                bw_cell = tf.nn.rnn_cell.DropoutWrapper(bw_cell, output_keep_prob=0.5)
                fw_cell = tf.nn.rnn_cell.MultiRNNCell([fw_cell for _ in range(args.num_layers)], state_is_tuple=True)
                bw_cell = tf.nn.rnn_cell.MultiRNNCell([bw_cell for _ in range(args.num_layers)], state_is_tuple=True)
            else:
                fw_cell = tf.nn.rnn_cell.MultiRNNCell([fw_cell for _ in
                                                       range(args.num_layers)], state_is_tuple=True)
                bw_cell = tf.nn.rnn_cell.MultiRNNCell([bw_cell for _ in
                                                       range(args.num_layers)], state_is_tuple=True)

我用上面的方法加了tf.nn.rnn_cell.DropoutWrapper层,训练时候的准确率可以到达83%,可是测试的时候却只有10%多,这是怎么回事,这里的代码不对劲

正在回答

1回答

Oscar 2018-04-17 23:10:06

你的代码和本课程没有关系。双向 LSTM 是你在别的地方学习的代码吧?

你只给出这一小段代码,我怎么知道哪里出了问题。而且训练时候的准确率和测试时候差很多不是不可能。

谢谢理解。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信