保存与调用keras训练的模型


https://blog.csdn.net/baimafujinji/article/details/42110831

http://keras-cn.readthedocs.io/en/latest/

1

保存以及训练好的模型

  1. from keras.models import load_model  
  2.   
  3. model.save('fei_model.h5')  

2

载入已经储存好的模型同样非常简单。你可以另外开一个新文件,导入必要的包和数据(当然无需重新定义和训练模型),然后使用下面这样的语句:

[python]  view plain  copy
  1. from keras.models import load_model  
  2. my_model = load_model('/home/airobot/Desktop/fei_model.h5')  
被载入的模型是否可以使用呢?我们用它来做一下predict,代码如下:

[python]  view plain  copy
  1. pred = my_model.predict(X_test_0[:])  
  2. print('Label of testing sample', np.argmax(y_test_0))  
  3. print('Output of the softmax layer', pred[0])  
  4. print('Network prediction:', np.argmax([pred[0]]))  
如果你有读之前的文章《跟我一起学Keras之实例篇(2) 》,可知下面的输出表明,程序准确地预测了手写数字为7。
('Label of testing sample', 7)
('Output of the softmax layer', array([  1.55717719e-23,   1.71202164e-13,   5.04616253e-14,
         7.39000111e-11,   3.02617696e-22,   3.59160995e-19,
         9.96468490e-34,   1.00000000e+00,   4.57078810e-19,
         2.00005355e-12], dtype=float32))
('Network prediction:', 7)


from keras.models import Sequential

model = Sequential()

将一些网络层通过.add()堆叠起来,就构成了一个模型:

from keras.layers import Dense, Activation

model.add(Dense(units=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(units=10))
model.add(Activation("softmax"))

完成模型的搭建后,我们需要使用.compile()方法来编译模型:

model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])

你可能感兴趣的:(python3,keras,存储,调用)