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

调用tf.keras.layers.Input时缺失keras.engine.base_layer_v1模块

报错核心原因

ModuleNotFoundError: No module named 'keras.engine.base_layer_v1' 由两个问题直接触发:

  1. Keras来源混用冲突:你的代码同时导入了TensorFlow内置的tensorflow.keras和单独安装的独立Keras包(最后一行from keras import optimizers),两套Keras的内部模块路径不兼容。你声称安装的2.3.0版本独立Keras不存在base_layer_v1这个路径,该路径是更高版本TF内置Keras的模块结构,Colab会自动升级预装依赖,很容易出现版本记录和实际加载版本不一致的情况。
  2. 非公开API导入风险:代码中from tensorflow.python.keras import *属于导入TensorFlow的私有内部模块,这类模块不对外承诺稳定性,版本小改就可能出现路径变动,直接触发导入错误。
排查步骤
  • 先执行以下代码确认当前运行环境实际加载的版本和路径,不要以安装记录为准:
import tensorflow as tf
import keras
print(f"TensorFlow实际版本: {tf.__version__}")
print(f"独立Keras实际版本: {keras.__version__}")
print(f"TF内置Keras存储路径: {tf.keras.__file__}")
print(f"独立Keras存储路径: {keras.__file__}")

如果独立Keras的路径不在TensorFlow安装目录下,就确认存在两套Keras共存的冲突问题。

  • 逐行检查导入语句,标记所有跨来源的Keras导入、tensorflow.python开头的私有模块导入。
修复方案

方案1:统一使用TF内置Keras(最稳定,推荐)

完全删除独立Keras导入和私有模块导入,将原有导入块替换为以下内容,替换后重启Colab运行时再执行代码即可,模型逻辑不需要做任何修改:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.applications import DenseNet121, ResNet50
from tensorflow.keras.models import Model, load_model
from tensorflow.keras.initializers import glorot_uniform
from tensorflow.keras.utils import plot_model
from tensorflow.keras.callbacks import ReduceLROnPlateau, EarlyStopping, ModelCheckpoint, LearningRateScheduler
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras import layers, optimizers
from tensorflow.keras.layers import *
from tensorflow.keras import backend as K
from IPython.display import display

方案2:强制对齐版本

如果必须使用独立Keras,在笔记本最开头的单元格执行以下命令,强制安装匹配版本的依赖,安装完成后必须重启运行时:

!pip uninstall -y keras tensorflow
!pip install tensorflow==2.3.0 keras==2.3.0

注意后续不要再写from tensorflow.python.keras import *这类导入私有模块的代码。

方案3:临时路径映射(兜底用)

如果前两种方案临时无法生效,可以在所有导入语句最前面加以下代码,手动把缺失的模块路径映射到已存在的模块上:

import sys
import keras.engine.base_layer
sys.modules['keras.engine.base_layer_v1'] = keras.engine.base_layer

该方案仅做临时救急用,长期使用可能触发其他隐藏的API兼容问题。

内容的提问来源于stack exchange,提问作者yeipi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 10:39:33