当我尝试按照tensorflow教程中的示例将嵌入层的输出通过dynamic_rnn包装器传递给LSTM单元时:
with tf.variable_scope('lstm', reuse=tf.AUTO_REUSE):
self.lstm_cell = tf.contrib.rnn.LSTMCell(self.rnn_hidden_size)
self.lstm_out, _ = tf.nn.dynamic_rnn(self.lstm_cell, inputs=embedded_chars, dtype=tf.float32)
我遇到了这样的错误:
File "src/tf_simnet.py", line 257, in <module>
tf.app.run()
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "src/tf_simnet.py", line 248, in main
train(args, config)
File "src/tf_simnet.py", line 45, in train
model = SimNet(config, args.encoder_type)
File "/data00/home/zhaodongdi/workspace/lab-speech/SimNet/src/model.py", line 138, in __init__
self.query_encoder = LSTMEncoder(self.query, config)
File "/data00/home/zhaodongdi/workspace/lab-speech/SimNet/src/model.py", line 96, in __init__
self.lstm_out, _ = tf.nn.dynamic_rnn(self.lstm_cell, inputs=embedded_chars, dtype=tf.float32)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn.py", line 627, in dynamic_rnn
dtype=dtype)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn.py", line 824, in _dynamic_rnn_loop
swap_memory=swap_memory)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.py", line 3224, in while_loop
result = loop_context.BuildLoop(cond, body, loop_vars, shape_invariants)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2956, in BuildLoop
pred, body, original_loop_vars, loop_vars, shape_invariants)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.py", line 2893, in _BuildLoop
body_result = body(*packed_vars_for_body)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/control_flow_ops.py", line 3194, in <lambda>
body = lambda i, lv: (i + 1, orig_body(*lv))
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn.py", line 795, in _time_step
(output, new_state) = call_cell()
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn.py", line 781, in <lambda>
call_cell = lambda: cell(input_t, state)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn_cell_impl.py", line 339, in __call__
*args, **kwargs)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 699, in __call__
self.build(input_shapes)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/rnn_cell_impl.py", line 767, in build
partitioner=maybe_partitioner)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/layers/base.py", line 546, in add_variable
partitioner=partitioner)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/training/checkpointable.py", line 436, in _add_variable_with_custom_getter
**kwargs_for_getter)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 1317, in get_variable
constraint=constraint)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 1079, in get_variable
constraint=constraint)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 425, in get_variable
constraint=constraint)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 394, in _true_getter
use_resource=use_resource, constraint=constraint)
File "/data00/home/wupeihao/anaconda4/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 718, in _get_single_variable
raise ValueError("If initializer is a constant, do not specify shape.")
ValueError: If initializer is a constant, do not specify shape.
我尝试了很多方法,但没有解决问题。任何帮助将不胜感激。