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

Keras 3中无法使用pickle load()加载模型的问题求助

Keras 3.3.3加载Pickle模型报错的解决方法

问题场景

使用Python 3.10、Keras 3.3.3、TensorFlow 2.16.1环境,执行以下代码加载pickle保存的模型时:

file_name = "soil_model_fineTuned.pkl"
with open(file_name, 'rb') as f:
    model = pickle.load(f)

出现报错:

model = pickle.load(f)
ModuleNotFoundError: No module named 'keras.src.saving.pickle_utils'

改用joblib加载仍触发相同错误:

model = joblib.load(file_name) 

报错详情:

File "/opt/miniconda3/envs/tensorflow/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 658, in load
    obj = _unpickle(fobj, filename, mmap_mode)
File "/opt/miniconda3/envs/tensorflow/lib/python3.10/site-packages/joblib/numpy_pickle.py", line 577, in _unpickle
    obj = unpickler.load()
File "/opt/miniconda3/envs/tensorflow/lib/python3.10/pickle.py", line 1213, in load
    dispatch[key[0]](self)
File "/opt/miniconda3/envs/tensorflow/lib/python3.10/pickle.py", line 1538, in load_stack_global
    self.append(self.find_class(module, name))
File "/opt/miniconda3/envs/tensorflow/lib/python3.10/pickle.py", line 1580, in find_class
    __import__(module, level=0)
ModuleNotFoundError: No module named 'keras.src.saving.pickle_utils'

解决方案

1. 优先使用Keras官方加载方法

Keras 3不推荐用pickle/joblib保存模型,建议使用官方的model.save()和keras.models.load_model()。如果能重新访问原模型,先转存为Keras格式:

# 重新保存原模型为Keras官方格式
model.save("soil_model_fineTuned.keras")
# 加载模型
import keras
model = keras.models.load_model("soil_model_fineTuned.keras")

2. 手动映射缺失模块路径

若无法重新导出模型,可通过修改模块映射让pickle找到对应路径,加载前执行以下代码:

import sys
import keras.src.saving

# 将缺失的模块路径映射到现有模块
sys.modules['keras.src.saving.pickle_utils'] = keras.src.saving

# 加载模型
import pickle
file_name = "soil_model_fineTuned.pkl"
with open(file_name, 'rb') as f:
    model = pickle.load(f)

3. 降级到匹配的Keras版本

如果模型是用旧版Keras保存的,可尝试降级Keras到保存时的版本(比如Keras 3.0.0):

pip install keras==3.0.0

加载成功后,立即用model.save()转存为Keras官方格式,避免后续版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:17:06