【问题标题】:Cannot open keras model file as h5无法将 keras 模型文件打开为 h5
【发布时间】: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


【解决方案1】:

我可以想象问题在于您正在下载的模型已损坏。如果您查看该文件,您会看到以下内容:

<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>

我不认为这是正确的。绝对不是h5 格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-19
    • 2021-02-18
    • 1970-01-01
    • 2019-08-04
    • 2019-08-03
    • 2021-05-16
    • 1970-01-01
    • 2019-11-30
    相关资源
    最近更新 更多