首页 文章

使用带Tensorflow的Keras LSTM时输入形状问题

提问于
浏览
0

我一直在使用Keras(版本1.1.1)LSTM与Theano作为后端没有任何问题 . 现在我想切换到Tensorflow(版本0.8.0)并且无法得到一个简单的例子 . 问题可归结为以下从this Keras-Tensorflow interface tutorial复制的代码段 .

from keras.layers import LSTM
import tensorflow as tf

my_graph = tf.Graph()
with my_graph.as_default():
    x = tf.placeholder(tf.float32, shape=(None, 20, 64))
    y = LSTM(32)(x)

最后一行执行时出现以下错误:

文件“/home/xxx/local/lib/python2.7/site-packages/Keras-1.1.1-py2.7.egg/keras/engine/topology.py”,第529行,在电话中返回self.call (x,mask)文件“/home/xxx/local/lib/python2.7/site-packages/Keras-1.1.1-py2.7.egg/keras/layers/recurrent.py”,第227行,正在通话中input_length = input_shape1)文件“/home/xxx/local/lib/python2.7/site-packages/Keras-1.1.1-py2.7.egg/keras/backend/tensorflow_backend.py”,第1306行,在rnn轴= [1,0]列表(范围(2,len(outputs.get_shape())))文件“/usr/local/anaconda/lib/python2.7/site-packages/tensorflow/python/framework/tensor_shape.py “,第462行,在len中引发ValueError(”不能采用具有未知等级的Shape的长度 . “)ValueError:不能获取具有未知等级的Shape的长度 .

有什么建议?

1 回答

  • 0

    你不能把张量流混合成像这样的keras . Keras跟张量流的形状分别跟踪张量的形状 .

    尝试使用 x = Input(shape=(20,64))

相关问题