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

Can't save trained Neural Network using keras

我无法以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

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

  1. 模型的架构,允许重新创建模型
  2. 模型的权重
  3. 训练配置(损失、优化器)
  4. 优化器的状态,允许从您停止的地方恢复训练。

然后您可以使用 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'