Я создал модель CNN и пытаюсь сохранить ее как файл .h5, а затем загрузить модель. Я работаю в виртуальной среде в Анаконде. Самое смешное, что я могу делать все на ноутбуке 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:\Users\Josh Cruz\Documents\.conda\envs\tensorflow\lib\site-packages\keras\engine\saving.py", line 492, in load_wrapper
return load_function(*args, **kwargs)
File "C:\Users\Josh Cruz\Documents\.conda\envs\tensorflow\lib\site-packages\keras\engine\saving.py", line 582, in load_model
if H5Dict.is_supported_type(filepath):
File "C:\Users\Josh Cruz\Documents\.conda\envs\tensorflow\lib\site-packages\keras\utils\io_utils.py", line 209, in is_supported_type
isinstance(path, h5py.Group) or
AttributeError: module 'h5py' has no attribute 'Group'
Я не нашел специфического c исправления для исправления Attribute Error: module 'h5py' has no attribute 'Group'
, но я нашел похожих проблем в сети , решения которых предполагают, что я должен обновить h5py до 2.10.0, используя conda install -c conda-forge h5py
. Это имеет смысл для меня, так как группы кажутся частью документации 2.10.0 h5py.
После установки появляется следующее:
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?
Другие места тогда предложили мне удалить, а затем переустановить. Если я удалю, я получу первую ошибку, которую я записал. когда я переустанавливаю, цикл начинается снова. Любая помощь будет оценена.