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

Keras/TensorFlow无法找到ImageNet权重文件,下载后仍报错求助

解决Keras/TensorFlow加载ImageNet权重文件失败的问题

针对你在Ubuntu 16.04 + TensorFlow-GPU 1.5.0环境下遇到的Xception权重加载问题——即便重新下载了权重文件仍报错的情况,我整理了几个实用的排查方向和解决办法:

1. 确认权重文件的存放路径是否正确

Keras默认会把预训练权重存储在~/.keras/models/目录下。你手动下载的xception_weights_tf_dim_ordering_tf_kernels.h5文件,必须确保被放到这个目录里,且文件名要完全匹配(注意大小写、后缀都不能出错)。

如果不确定默认路径,也可以用代码打印Keras的配置路径来确认:

from keras import utils
print(utils.get_file())

这个命令会输出默认的权重存储目录,把下载好的文件移过去即可。

2. 修复目录/文件的权限问题

Ubuntu环境下,~/.keras/目录可能因为之前的安装操作(比如用sudo执行过pip)导致权限异常,使得Keras无法读取里面的权重文件。你可以执行以下命令修复权限:

sudo chown -R $USER:$USER ~/.keras/

这会让当前用户拥有该目录及其所有文件的读写权限。

3. 手动指定权重文件路径加载

绕开Keras的自动查找逻辑,直接在代码里指定你下载好的权重文件路径,这样可以避免路径识别的bug。示例代码如下:

from tensorflow.keras.applications.xception import Xception

# 替换成你实际的权重文件路径
model = Xception(weights='/home/your_username/Downloads/xception_weights_tf_dim_ordering_tf_kernels.h5')

4. 清理Keras的缓存文件

有时候Keras会缓存权重文件的状态,即使你重新下载了文件,旧的缓存仍然会干扰加载。你可以删除~/.keras/models/目录下除了权重文件之外的缓存文件(比如带有.cache后缀的文件),然后重新运行代码。

5. 确认Keras与TensorFlow的版本兼容性

TensorFlow 1.5.0对应的Keras版本应该是2.1.6左右,如果你的Keras版本过高或过低,都可能出现权重加载的兼容性问题。你可以先查看当前Keras版本:

pip3 show keras

如果版本不匹配,执行以下命令安装对应版本:

pip3 install keras==2.1.6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:29:10