2023年 ImportError: cannot import name ‘BatchNormalization‘ from ‘keras.layers.normalization‘解决办法

从 Keras 引用 BatchNormalization 错误完整解决

设备

  • Mac M1 Pro
  • tensorflow-macos 2.10.0
  • keras 2.10.0

问题:ImportError: cannot import name ‘BatchNormalization’ from ‘keras.layers.normalization’

我将引用的命令改成了

from keras.layers.normalization.batch_normalization_v1 import BatchNormalization

但是在保存模型时爆出了以下错误

<keras.layers.normalization.batch_normalization_v1.BatchNormalization object at 0x145126190>

我便搜索了以下解决方式,将引用改成

 from tensorflow.keras.layers import BatchNormalization

直接报错

解决方案

直接引用 tensorflow

import tensorflow as tf

然后将代码中每个 BatchNormalization 改成 tf.keras.layers.BatchNormalization 即可解决,且模型成功保存

model.add(Conv2D(32, (3, 3), padding="same",
                         input_shape=inputShape, kernel_initializer=TruncatedNormal(mean=0.0, stddev=0.01)))
model.add(Activation("relu"))
model.add(tf.keras.layers.BatchNormalization(axis=chanDim))
model.add(MaxPooling2D(pool_size=(2, 2)))
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值