无法使用keras保存经过训练的神经网络

时间:2017-06-22 15:19:23

标签: python-3.x keras h5py

我无法保存以h5py格式训练的神经网络。它显示以下错误:

ImportError                               Traceback (most recent call last)
<ipython-input-64-0185b568b480> in <module>()
      1 from keras.models import load_model
----> 2 model.save("MNISTclassifier.h5")

/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py in save(self, filepath, overwrite, include_optimizer)
   2470         """
   2471         from ..models import save_model
-> 2472         save_model(self, filepath, overwrite, include_optimizer)
   2473 
   2474     def save_weights(self, filepath, overwrite=True):

/usr/local/lib/python3.5/dist-packages/keras/models.py in save_model(model, filepath, overwrite, include_optimizer)
     53 
     54     if h5py is None:
---> 55         raise ImportError('`save_model` requires h5py.')
     56 
     57     def get_json_type(obj):

ImportError: `save_model` requires h5py.

即使我使用pip安装了h5py并导入了它。 源代码在这里: https://github.com/tanmay-edgelord/HandwrittenDigitRecognition/blob/master/MNIST%20.ipynb

1 个答案:

答案 0 :(得分:1)

您可以使用model.save(filepath)将Keras模型保存到单个HDF5文件中,该文件包含:

  1. 模型的架构,允许重新创建模型
  2. 模型的权重
  3. 培训配置(损失,优化程序)
  4. 优化器的状态,允许您从中断的位置恢复训练。
  5. 然后,您可以使用keras.models.load_model(filepath)重新验证您的模型。 load_model还将使用保存的训练配置来编译模型(除非模型从未编译过。)

    示例:

    from keras.models import load_model
    model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'