使用HDF5库和h5py模块的交替错误



我已经创建了一个CNN模型,并试图将其保存为.h5文件,然后稍后加载该模型。我在Anaconda的一个虚拟环境中工作。有趣的是,我可以在虚拟环境中用Jupyter笔记本做任何事情,没有问题。然而,当我尝试在终端中运行它(加载模型,然后评估它(时,它不起作用。我有一组交替的错误,这些错误在网上有解决方案,但这些解决方案要么导致死胡同,要么导致另一个错误。

第一个错误:

Traceback (most recent call last):
File "MNIST.py", line 64, in <module>
main()
File "MNIST.py", line 62, in main
evaluate_model()
File "MNIST.py", line 54, in evaluate_model
model = models.load_model('final_model.h5')
File "C:UsersJosh CruzDocuments.condaenvstensorflowlibsite-packageskerasenginesaving.py", line 492, in load_wrapper
return load_function(*args, **kwargs)
File "C:UsersJosh CruzDocuments.condaenvstensorflowlibsite-packageskerasenginesaving.py", line 582, in load_model
if H5Dict.is_supported_type(filepath):
File "C:UsersJosh CruzDocuments.condaenvstensorflowlibsite-packageskerasutilsio_utils.py", line 209, in is_supported_type
isinstance(path, h5py.Group) or
AttributeError: module 'h5py' has no attribute 'Group'

我还没有找到修复Attribute Error: module 'h5py' has no attribute 'Group'的特定修复程序,但我确实在网上发现了类似的问题,其解决方案建议我应该使用conda install -c conda-forge h5py将h5py更新到2.10.0。这对我来说很有意义,因为小组似乎是2.10.0h5py文档的一部分。

安装后出现:

The following packages will be downloaded:
package                    |            build
---------------------------|-----------------
h5py-2.9.0                 |nompi_py36h9dfa0df_1103         909 KB  conda-forge
------------------------------------------------------------
Total:         909 KB
The following NEW packages will be INSTALLED:
h5py               conda-forge/win-64::h5py-2.9.0-nompi_py36h9dfa0df_1103
The following packages will be SUPERSEDED by a higher-priority channel:
certifi              pkgs/main::certifi-2019.11.28-py36_1 --> conda-forge::certifi-2019.11.28- 
py36h9f0ad1d_1

我很困惑,因为我以为我在安装2.10.0版本。无论如何,我都会安装,尝试重新运行我的程序,并得到一个全新的错误:

Headers are 1.10.4, library is 1.10.5
SUMMARY OF THE HDF5 CONFIGURATION
=================================
General Information:
-------------------
HDF5 Version: 1.10.5
Configured on: 2019-03-04
Configured by: Visual Studio 14 2015 Win64
Host system: Windows-10.0.17763
Uname information: Windows
Byte sex: little-endian
Installation point: C:/Program Files/HDF5

为了篇幅起见,我没有包括整个错误,但整个错误可以在这个问题中找到。建议是执行pip install h5py --upgrade --no-dependencies --force,但这样做会导致同样的错误。另一个来源(我现在找不到(说,在安装pip和conda时可能会出现问题,所以我运行pip uninstall h5py,但错误仍然存在。然后,使用这里的建议,我运行conda install -c anaconda hdf5=1.10.4,使库与标头匹配。我被困在这里,因为即使我再次运行我的程序,我仍然会得到同样的错误。我不明白为什么,图书馆现在不应该是1.10.4吗?

其他地方建议我先卸载,然后再重新安装。如果我卸载,我会得到我写下的第一个错误。当我重新安装时,循环又开始了。如有任何帮助,我们将不胜感激。

您是否已经尝试过在conda install -c anaconda hdf5=1.10.5而不是使用hdf5=1.1.04

您在conda环境中安装了1.10.4 hdf5库,Tensorflow的一些依赖项具有更新的hdf5 1.10.5头文件。

尝试将conda-hdf5库更新到更新的1.10.5,或者使用以下命令:

set HDF5_DISABLE_VERSION_CHECK=2 

这应该会禁用警告,但不提供任何正确执行的保证,因此最好将hdf5库更新到相同的1.10.5版本。

如果这还不够,还可以尝试此解决方法:

首先,尝试删除h5py 2.10.0版本的更新,将其恢复为原始版本和

通过:将hdf5升级到1.10.5版本

conda install -c anaconda hdf5=1.10.5

并卸载double(如果您安装了double h5py(通过:安装h5py

conda uninstall h5py
pip uninstall h5py

如果你只有一个,然后卸载它

最后,通过再次升级到hdf5 2.10.0版本

conda install -c conda-forge h5py

我希望这能有所帮助。

相关内容

最新更新