Tensorflow2.0学习笔记------模型保存和加载

前文已经比较详细的介绍了tf2.0构建网络的几种方式,当模型可以训练起来之后,可持久化就是下一个目标,保存和加载模型是不可或缺的部分。

Step1:构建一个网络结构用于测试


import tensorflow as tf
from tensorflow.keras import layers
import numpy as np


model = tf.keras.Sequential()
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))

model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
             loss=tf.keras.losses.categorical_crossentropy,
             metrics=[tf.keras.metrics.categorical_accuracy])

train_x = np.random.random((1000, 100))
train_y = np.random.random((1000, 10))
 
val_x = np.random.random((200, 100))
val_y = np.random.random((200, 10))

Step2:启动训练并保存模型

model.fit(train_x, train_y, epochs=10, batch_size=100,
          validation_data=(val_x, val_y))
 
model.save_weight(./weight/model)      # 保存权重文件 weight文件夹下三个文件
model.save_weight(./weight/model.h5)   # 保存权重文件 weight文件夹下h5文件
 
model.save(all_model.h5)                   # 保存整个模型

Step3:加载模型测试

model.load_weights('./weight/model')
model.load_weights('./weight/model.h5')

model = tf.keras.models.load_model('all_model.h5')

 

你可能感兴趣的:(Tensorflow2.0学习笔记------模型保存和加载)