6.1 Keras模型保存 ---- 加载和保存整个模型

一、模型保存依赖包

        Keras 模型保存为 HDF5 文件
        Keras 使用了 h5py Python 包。
        h5py 是 Keras 的依赖项,应默认被安装

二、保存/加载整个模型

不建议使用 pickle 或 cPickle 来保存 Keras 模型。

使用 model.save(filepath) 将 Keras 模型保存到单个HDF5 文件中。


三、Keras卷积实例 手写数据集

import tensorflow as tf
import keras
from keras import layers

import keras.datasets.mnist as mnist

(train_image, train_label), (test_image, test_label) = mnist.load_data()

train_image.shape

import matplotlib.pyplot as plt
%matplotlib inline
plt.imshow(train_image[4])

train_label[4]

import numpy as np

train_image = np.expand_dims(train_image, axis=-1)
train_image.shape
train_label.shape

test_image.shape
test_image = np.expand_dims(test_image, axis=-1)

#初始化模型
model = keras.Sequential()
#添加层,构建网络
model.add(layers.Conv2D(64, (3, 3), activation='relu', input_shape=(28, 28, 1), name='conv_1'))
model.add(layers.Conv2D(64, (3, 3), activation='relu', name='conv_2'))
model.add(layers.MaxPooling2D(pool_size=(2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu', name='dense_1'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(10, activation='softmax', name='dense_2'))
model.summary()

#编译模型 
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# tf.nn.sparse_softmax_cross_entropy_with_logits  
# tf.nn.softmax_cross_entropy_with_logits_v2   # one-hot

#训练模型
model.fit(train_image, train_label, epochs=3, batch_size=512)

model.evaluate(test_image, test_label)

#保存模型
model.save('my_model.h5')

四、加载保存好的整个模型对测试数据进行预测

import keras

from keras.models import load_model

my_model = load_model('my_model.h5')


import keras.datasets.mnist as mnist
(train_image, train_label), (test_image, test_label) = mnist.load_data()

import numpy as np
test_image = np.expand_dims(test_image, axis=-1)

my_model.evaluate(test_image, test_label)

my_model.predict(test_image[0:2])

五、保存/加载整个模型

· 模型的结构,允许重新创建模型
· 模型的权重
· 训练配置项(损失函数,优化器)
· 优化器状态,允许准确地从你上次结束的地方继续训练。


 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值