Python Tensorflow Keras输入层不添加_Keras_形状

Python Tensorflow Keras输入层不添加_Keras_形状,python,tensorflow,keras,Python,Tensorflow,Keras,根据keras,Input将\u keras\u shape属性添加到输入张量。然而,如下所示,情况并非如此 import tensorflow as tf s = tf.keras.layers.Input(shape=[2], dtype=tf.float32, name='s') print(s._keras_shape) Traceback (most recent call last): File "<input>", line 3, in <module>

根据keras,
Input
\u keras\u shape
属性添加到输入张量。然而,如下所示,情况并非如此

import tensorflow as tf
s = tf.keras.layers.Input(shape=[2], dtype=tf.float32, name='s')
print(s._keras_shape)
Traceback (most recent call last):
  File "<input>", line 3, in <module>
AttributeError: 'Tensor' object has no attribute '_keras_shape'
将tensorflow导入为tf
s=tf.keras.layers.Input(shape=[2],dtype=tf.float32,name='s')
印刷品(s.\u keras\u形状)
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
AttributeError:“Tensor”对象没有属性“\u keras\u shape”
我是否误解了什么,或者这是我应该报告的错误

缺少此属性会使更多的Keras函数陷入混乱:

q_s = q(s)
model = Model(inputs=s, outputs=q_s)
Traceback (most recent call last):
...
File "/home/reuben/.virtualenvs/tensorflow/lib/python3.5/site-packages/keras/engine/network.py", line 253, in <listcomp>
  input_shapes=[x._keras_shape for x in self.inputs],
AttributeError: 'Tensor' object has no attribute '_keras_shape'
q_s=q(s)
模型=模型(输入=s,输出=q_s)
回溯(最近一次呼叫最后一次):
...
文件“/home/reuben/.virtualenvs/tensorflow/lib/python3.5/site packages/keras/engine/network.py”,第253行,在
input_shapes=[x.\u keras_shapes for x in self.inputs],
AttributeError:“Tensor”对象没有属性“\u keras\u shape”
我使用的是tensorflow版本“1.11.0-rc2”

文档中没有提到
\u keras\u shape

添加的Keras属性是:_Keras_history:应用于张量的最后一层。整个层图可以从该层递归检索


当您说“使更多的Keras函数失控”时,您的意思是什么?

根据您是从
Keras导入还是通过
tensorflow
导入,您得到的输入层似乎略有不同。链接的
keras
文档基于直接从
keras
库导入图层:

例如:

import tensorflow as tf
from keras.layers import Input

s = Input(shape=[2], dtype=tf.float32, name='2')
s._shape_val # None
s._keras_shape # (None, 2)
但是,通过tensorflow导入会显示为将形状保存在tensorflow属性
\u shape\u val
中:

import tensorflow as tf
s = tf.keras.layers.Input(shape=[2], dtype=tf.float32, name='s')
s._shape_val # TensorShape([Dimension(None), Dimension(2)])
s._keras_shape # Error

最好直接从
keras
导入图层。如果您计划继续使用
tf.keras
而不是
keras
的主要实现,则应参考instead of keras.io

我对问题进行了编辑,详细阐述了我所说的“失控”的含义,并意识到原因是我无意中使用了tensorflow.keras来定义输入,而keras用于定义模型的其余部分。这就是我问题的根源!我认为这一点指向了当tensorflow keras和kerasintermingled@reubenjohn是的!一定不要把文件弄混了!很高兴我能帮忙:)嘿,那真的很有帮助,谢谢+1.有这些陷阱的清单吗?