无法下载带权重的Keras InceptionV3模型,哈希校验失败求助
解决InceptionV3权重下载哈希不匹配问题
问题分析
错误提示说明下载的ImageNet权重文件不完整或损坏,导致哈希校验失败——即使升级Keras和TensorFlow,也无法自动修复已损坏的本地缓存文件。另外你的代码还存在语法错误:save_model = (base_model, 'inceptionv3_base.h5')是赋值操作,而非调用保存模型的函数。
解决步骤
删除损坏的缓存权重
找到Keras权重的默认存储目录:- Windows:
C:\Users\<你的用户名>\.keras\models - Linux/macOS:
~/.keras/models
删除目录中名为inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5的文件(因为你设置了include_top=False,对应这个不带顶层分类层的权重文件)。
- Windows:
手动下载正确的权重文件
下载哈希值为bcbd6486424b2319ff4ef7d526e38f63的inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5文件,将其放到上述的models目录中。修正代码中的保存模型语句
将错误的赋值语句替换为函数调用:from keras.applications.inception_v3 import InceptionV3, preprocess_input from keras.models import save_model base_model = InceptionV3(weights='imagenet', include_top=False) save_model(base_model, 'inceptionv3_base.h5') # 调用保存函数,而非赋值
完成以上步骤后重新运行代码,即可正常加载权重并保存模型。
内容的提问来源于stack exchange,提问作者Kush254
相关产品推荐
相关产品推荐

