tensorflow - Keras BatchNormalization 层不兼容错误
问题描述
我有以下(部分)网络架构:
获得者
...
pool = GlobalAvgPool()(gc_2)
predictions = Dense(units=32, activation='relu', use_bias=False)(pool)
predictions = BatchNormalization()(predictions)
...
我正在尝试插入批处理规范化层,但出现以下错误:
ValueError: 层 batch_normalization_1 的输入 0 与层不兼容:预期 ndim=2,发现 ndim=3。收到的完整形状:[None, 1, 32]
我猜第二个维度是造成这个事故的原因。有什么办法可以摆脱它吗?
解决方案
如果您的模型编译成功,则您的模型定义没有问题。
这更有可能发生,因为输入数据的形状和尺寸与您的模型所需的输入形状不兼容。
expected ndim=2, found ndim=3.
意味着模型需要一个 2D 张量
推荐阅读
- python - TDMS + Bokeh hoveringtool 名称
- ios - 如何为按钮着色,然后当您点击它时它不会改变颜色?
- python - 怀疑 tf/keras 网络的功能
- python - SimpleITK 读取图像切片
- css - 动画 css slideInDown
- javascript - 如何在 Node js 中使用 Hmac 创建令牌
- python - 如何提取在 Python 中使用 PKWARE SecureZip 压缩的受密码保护的 zip 文件?(视窗 10)
- ruby - Ruby Selenium Webdriver:在 Mac Chrome 上关闭文件对话框
- firebase - Flutter Firestore 获取值的总和
- airflow - 尝试在 Airflow 上使用 SendGrid 时出现错误 400(Google Composer)