Windows系统下如何在R语言中加载Keras模型?
R语言加载Keras模型两类报错解决方案
报错核心原因
两个报错均为R的keras依赖的Python环境配置异常导致:
load_model_hdf5报错是对应Python环境缺少h5py依赖包load_model_tf报错是R无法识别到可用的TensorFlow环境,tf_version()返回空值
分步解决流程
第一步:绑定指定Python环境(避免多环境冲突)
提前确认你要使用的conda环境路径/名称,在加载keras前先完成环境绑定,代码如下:# 替换为你实际使用的Python可执行文件路径 Sys.setenv(RETICULATE_PYTHON = "/opt/miniconda3/envs/tf_env/bin/python") library(reticulate) # 替换为你的conda环境名称 use_condaenv("tf_env", required = TRUE)完成后运行
tensorflow::tf_version(),如果返回具体版本号(≥2.0.0即可),load_model_tf的报错将直接解决。第二步:安装缺失依赖
推荐用R内置的依赖安装工具统一安装配套版本的TensorFlow和h5py,避免版本不兼容:# 安装2.0以上的稳定TensorFlow版本,自动配套安装h5py keras::install_keras(method = "conda", envname = "tf_env", tensorflow = "2.10") # 若h5py仍缺失,单独安装 reticulate::py_install("h5py", envname = "tf_env")运行
py_module_available("h5py")验证,返回TRUE即表示依赖安装完成。第三步:验证模型加载
library(keras) # 加载h5格式模型 new_model <- load_model_hdf5("model1.h5") # 加载SavedModel格式模型 new_model <- load_model_tf("model1")
注意事项
如果你的模型是在其他环境训练得到,需保证R中安装的TensorFlow大版本与训练时的版本一致,避免序列化兼容性问题。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

