You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除Keras中InceptionV3最后一层时遇ModuleNotFoundError问题求助

问题:移除InceptionV3最后一层时出现ModuleNotFoundError错误

问题场景

尝试移除Keras中InceptionV3模型的最后一层,运行代码如下:

from keras.src.applications.inception_v3 import InceptionV3 
from keras.models import Model
model = InceptionV3(weights='imagenet')
model_new = Model(inputs=model.input, outputs=model.layers[-2].output)

执行后出现如下错误:

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[90], line 2
      1 # Tạo model mới, bỏ layer cuối từ inception v3
----> 2 model_new = Model(inputs=model.input, outputs=model.layers[-2].output)

File ~\anaconda3\envs\myenv\lib\site-packages\keras\engine\training.py:193, in __new__(cls, *args, **kwargs)

File ~\anaconda3\envs\myenv\lib\site-packages\keras\engine\training.py:195, in __new__(cls, *args, **kwargs)

File ~\anaconda3\envs\myenv\lib\site-packages\keras\utils\version_utils.py:49, in __new__(cls, *args, **kwargs)

File ~\anaconda3\envs\myenv\lib\site-packages\keras\utils\generic_utils.py:1318, in __getattr__(self, item)

File ~\anaconda3\envs\myenv\lib\site-packages\keras\utils\generic_utils.py:1309, in _load(self)

File ~\anaconda3\envs\myenv\lib\site-packages\importlib\__init__.py:127, in import_module(name, package)
    125             break
    126         level += 1
--> 127 return _bootstrap._gcd_import(name[level:], package, level)

File <frozen importlib._bootstrap>:1030, in _gcd_import(name, package, level)

File <frozen importlib._bootstrap>:1007, in _find_and_load(name, import_)

File <frozen importlib._bootstrap>:984, in _find_and_load_unlocked(name, import_)

ModuleNotFoundError: No module named 'keras.engine.base_layer_v1'

已尝试重新安装Keras和TensorFlow,但问题仍存在。

解决方案

1. 统一使用TensorFlow内置的Keras导入路径

当前Keras已整合到TensorFlow中,混合使用独立Keras包和TensorFlow内置Keras会导致版本冲突。修正代码如下:

from tensorflow.keras.applications.inception_v3 import InceptionV3
from tensorflow.keras.models import Model

model = InceptionV3(weights='imagenet')
model_new = Model(inputs=model.input, outputs=model.layers[-2].output)

2. 彻底清理并重新安装TensorFlow

  • 先卸载所有相关包:
    pip uninstall -y keras tensorflow
    
  • 安装稳定版本的TensorFlow(推荐2.15.x系列,兼容性较好):
    pip install tensorflow==2.15.0
    
    注意:安装TensorFlow后无需单独安装Keras,TensorFlow已包含完整的Keras模块。

3. 确认虚拟环境使用正确

检查当前终端是否激活了目标虚拟环境(如示例中的myenv),避免全局安装的包干扰虚拟环境内的依赖。

错误原因

该错误源于混合使用独立Keras包与TensorFlow内置Keras,两者版本不兼容。keras.engine.base_layer_v1是旧版独立Keras的模块路径,而新版TensorFlow内置的Keras已调整了模块结构,导致找不到该模块。

内容的提问来源于stack exchange,提问作者thanh phan van

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 19:01:16