首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多层RNN Tensorflow

多层RNN Tensorflow
EN

Stack Overflow用户
提问于 2016-04-26 22:16:27
回答 1查看 1.8K关注 0票数 2

我有两层LSTM网络。(config.n_input为3,config.n_steps为5)

我认为这可能与输入的形状有关,但我不确定如何修复它,我尝试更改LSTM的投影,使它们具有相同的输入大小,但这不起作用。

代码语言:javascript
复制
      self.input_data = tf.placeholder(tf.float32, [None, config.n_steps, config.n_input], name='input')

       # Tensorflow LSTM cell requires 2x n_hidden length (state & cell)
       self.initial_state = tf.placeholder(tf.float32, [None, 2*config.n_hidden], name='state')
       self.targets = tf.placeholder(tf.float32, [None, config.n_classes], name='target')

       _X = tf.transpose(self.input_data, [1, 0, 2])  # permute n_steps and batch_size
       _X = tf.reshape(_X, [-1, config.n_input]) # (n_steps*batch_size, n_input)

       input_cell = rnn_cell.LSTMCell(num_units=config.n_hidden, input_size=3, num_proj=300, forget_bias=1.0)
       print(input_cell.output_size)
       inner_cell = rnn_cell.LSTMCell(num_units=config.n_hidden, input_size=300)
       cells = [input_cell, inner_cell]
       cell = rnn.rnn_cell.MultiRNNCell(cells)

当尝试运行它时,它返回以下错误。

代码语言:javascript
复制
tensorflow.python.pywrap_tensorflow.StatusNotOK: Invalid argument: Expected size[1] in [0, 0], but got 600
 [[Node: RNN/MultiRNNCell/Cell1/Slice = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](_recv_state_0/_3, RNN/MultiRNNCell/Cell1/Slice/begin, RNN/MultiRNNCell/Cell1/Slice/size)]]

对错误消息有什么更好的解释吗?或者有什么方法可以很容易地解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2016-06-08 12:06:09

代码语言:javascript
复制
# Tensorflow LSTM cell requires 2x n_hidden length (state & cell)
self.initial_state = tf.placeholder(tf.float32, [None, 2*config.n_hidden + 300], name='state')

这是一个相当不透明的错误,您最好在TF GitHub问题页面上提出它!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36867608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档