首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow Keras输入层不添加_keras_shape

Tensorflow Keras输入层不添加_keras_shape
EN

Stack Overflow用户
提问于 2019-02-10 04:55:34
回答 2查看 3.1K关注 0票数 3

根据keras 文档Input_keras_shape属性添加到输入张量。然而,如下所示,情况并非如此。

代码语言:javascript
复制
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'

我是不是误解了什么,或者这是我应该报告的错误?

该属性的缺乏使Keras函数变得更加混乱:

代码语言:javascript
复制
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'

我在使用tensorflow版本的“1.11.0-rc2”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-10 06:28:35

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

例如:

代码语言:javascript
复制
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属性_shape_val中保存形状,而不是:

代码语言:javascript
复制
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的主要实现,则应该参考tf.keras文档而不是keras.io。

票数 6
EN

Stack Overflow用户

发布于 2019-02-10 05:05:58

文档这里没有提到_keras_shape

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

当你说“使进一步的Keras函数变得混乱”时,你是什么意思?

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

https://stackoverflow.com/questions/54613474

复制
相关文章

相似问题

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