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%多,这是怎么回事,这里的代码不对劲
15.9k 10
1.1k 9
1.2k 8
1.4k 7
920 7