当我尝试在TensorFlow中执行我的RNN代码时,它显示以下错误?

时间:2017-06-13 07:38:22

标签: tensorflow deep-learning python-3.5 recurrent-neural-network

1 个答案:

答案 0 :(得分:0)

错误列表

错误1:

  

TypeError:输入' split_dim' of' Split' Op的类型为float32,与int32的预期类型不匹配。

来自:x = tf.split(0, n_chunks, x)
收件人:x = tf.split(axis=0, num_or_size_splits=n_chunks, value=x)

错误2:

  

AttributeError:module' tensorflow.contrib.rnn.python.ops.rnn_cell'没有属性' BasicLSTMCell'

自:
from tensorflow.contrib.rnn.python.ops import rnn_cell lstm_cell = rnn_cell.BasicLSTMCell(rnn_size,state_is_tuple=True)
要:
from tensorflow.contrib.rnn import BasicLSTMCell lstm_cell = BasicLSTMCell(rnn_size,state_is_tuple=True)

错误3:

  

NameError:name' rnn'未定义

来自:outputs, states = rnn.rnn(lstm_cell, x, dtype=tf.float32)
收件人:outputs, states = tf.nn.dynamic_rnn(cell=lstm_cell, inputs=x, dtype=tf.float32)

错误4:

  

ValueError:尺寸必须为2,但对于' transpose_3' (op:' Transpose')输入形状:[?,28],[3]。

注释:
x = tf.transpose(x, [1,0,2]) x = tf.reshape(x, [-1, chunk_size]) x = tf.split(axis=0, num_or_size_splits=n_chunks, value=x)

错误5:

  

ValueError:仅使用命名参数调用softmax_cross_entropy_with_logits(labels = ...,logits = ...,...)

自:
 cost = tf.reduce_mean( tf.nn.softmax_cross_entropy_with_logits(prediction,y) )
要:
 cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=prediction,labels=y))

错误6:

  

InvalidArgumentError:logits和label必须大小相同:logits_size = [28,10] labels_size = [128,10]

softmax_cross_entropy_with_logits函数存在概念问题。请查看:softmax_cross_entropy_with_logitsdoc

开始理解并解决所有这些问题。如果您仍然无法运行代码,请返回并发布更新的代码,但至少可以解决6个问题:)