python - TensorFlow & Keras AttributeError:该层从未被调用,因此没有定义的输入形状
问题描述
我创建了一个图层并将其命名为:
import tensorflow as tf
from tensorflow import keras
dense = keras.layers.Dense(10)
X = tf.constant([[1, 2, 3], [4, 5, 6]])
dense(X)
然后我尝试获取它的输入形状:
dense.input_shape
但我得到这个错误:
AttributeError: The layer has never been called and thus has no defined input shape.
有人可以解释这个错误以及如何解决它吗?在我看来,所述错误是完全错误的。我显然已经调用了图层。并且图层已经建好(比如我看到那个dense.weights
不是空的)。
TensorFlow 版本 2.5.0。
解决方案
尝试将其放入顺序模型(以获取.predict()
方法)并传递一个 numpy 数组:
dense = tf.keras.models.Sequential()
dense.add(tf.keras.layers.Dense(10))
X =np.array([[1, 2, 3], [4, 5, 6]],dtype=np.float32)
print(dense.predict(X))
推荐阅读
- python - 根据其他列的 if-else 填充 pandas DataFrame 的新列
- javascript - 盖茨比:上下文更新导致无限渲染循环
- html - 隐藏第 2 层和第 3 层菜单以在悬停时显示
- c++ - 共享指针上的原子操作,c++ 版本
- amazon-web-services - 读取包含大量小对象的整个 s3 存储桶的最有效方法是什么?
- visual-studio - 我无法在 Visual Studio 2017 中删除 Team Foundation Server URL 的名称
- android - 在 react-native 中取消获取请求
- python - 我可以在while循环中调用我的函数吗?
- android - SimpleDateFormat 创建 4 位数月份
- batch-file - 如何使用批处理脚本中的 for 循环排除文件夹被删除?