【发布时间】:2022-01-25 07:56:03
【问题描述】:
我在以下路径中有一个.h5 文件,它是一个关于预训练CNN(模型+权重)的模型文件。
>>> import os
>>> os.path.isfile('/home/me/my_env_project/attack/models/model_keras.h5')
True
上面的源代码表明模型文件存在,所以我显然可以使用 TensorFlow 加载它。但是,运行以下命令后
>>> import tensorflow
>>> model=tensorflow.keras.models.load_model('/home/me/my_env_project/attack/models/model_keras.h5')
我有以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/me/.local/lib/python3.6/site-packages/tensorflow/python/keras/saving/save.py", line 186, in load_model
loader_impl.parse_saved_model(filepath)
File "/home/me/.local/lib/python3.6/site-packages/tensorflow/python/saved_model/loader_impl.py", line 113, in parse_saved_model
constants.SAVED_MODEL_FILENAME_PB))
OSError: SavedModel file does not exist at: /home/me/my_env_project/attack/models/model_keras.h5/{saved_model.pbtxt|saved_model.pb}
这与我使用的版本有关吗?我的 TensorFlow 版本是 2.3.0。
P.s:你可以尝试自己从here获取模型
【问题讨论】:
-
当导入 h5py 失败时会出现这种情况,尝试导入 h5py 看看会发生什么。
-
@Dr.Snoopy 我导入 h5py 并没有发生错误。但是,问题仍然存在。感谢您的帮助。
标签: python python-3.x tensorflow keras deep-learning