繁体   English   中英

导入错误:无法从“tensorflow.python.keras.layers”导入名称“BatchNormalization”

[英]ImportError: cannot import name 'BatchNormalization' from 'tensorflow.python.keras.layers'

我有一个在 google collab 和 kaggle 上运行良好的脚本,但关于它们的 memory 限制,我现在正尝试在笔记本电脑的 jupyter notebook 上运行它,但随后显示错误消息。

ImportError: cannot import name 'BatchNormalization' from 'tensorflow.python.keras.layers' 

它从该行调用:

from pixellib.tune_bg import alter_bg

我已经导入了似乎需要的东西:

from tensorflow.keras.layers import (Input, Dense, Flatten, Dropout, Conv2D, MaxPooling2D, GlobalAveragePooling2D, Activation, Concatenate, LeakyReLU, BatchNormalization, concatenate)

并且还安装了:

!pip install pixellib

我的规格:
没有 GPU
keras 版本 2.8.0
tensorflow 版本 2.8.0
Python 版本 '3.10.1 (tags/v3.10.1:2cd268a, Dec 6 2021, 19:10:37) [MSC v.1929 64 位 (AMD64)]'

IPython:未安装
ipy内核:6.8.0
ipywidgets:未安装

jupyter_client:7.1.2
jupyter_core:4.9.1
jupyter_server:未安装
jupyterlab:未安装
nbclient:0.5.10

有什么建议吗?

Go 到 Pixellib 文件夹 -> 语义 -> deeplab.py 并将这一行from tensorflow.python.keras.layers import BatchNormalization替换为这一行 from keras.layers.normalization.batch_normalization from keras.layers.normalization.batch_normalization import BatchNormalization

我认为这是因为你在这里导入 BatchNormalization: from tensorflow.keras.layers import (Input, Dense, Flatten, Dropout, Conv2D, MaxPooling2D, GlobalAveragePooling2D, Activation, Concatenate, LeakyReLU, BatchNormalization, concatenate)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM