记录问题,分析原理,从而发散是我写这篇的原因。从普通问题到原理从而能解决通用问题。
问题1:Lstm中
#声明占位符 x_data = tf.placeholder(tf.float32,[2,380,max_sequence_length]) y_target = tf.placeholder(tf.int32,[None])
cell = tf.nn.rnn_cell.BasicLSTMCell(num_units=rnn_size)
最开始x_data的类型我设置为了tf.int32但是这是个句子的表示,他是float型的而不是int型的。这样的报错是:
Initializer for variable rnn/basic_lstm_cell/kernel/ is from inside a control-flow construct, such as a loop or conditional. When creating a variable inside a loop or conditional, use a lambda as the initializer.
这点错误是没看懂的,但是只要将类型改为float就好了
第二个问题是:
tf的维度如果是固定的,最好是写死了。