Tensorflow 模型保存与加载

save/load weights
save/load entire model
saved_model
1、
#保存训练模型

model.save_weights( filepath,
 overwrite=True,
 save_format=None)

加载训练模型

model.load_weights( filepath,
 overwrite=True,
 save_format=None)

2、
#保存训练模型

model.save( filepath,
 overwrite=True,
 include_optimizer=True,
 save_format=None)

加载训练模型

model=tf.keras.models.load_model( filepath,
 overwrite=True,
 include_optimizer=True,
 save_format=None)
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import datasets, layers, optimizers
  
  
# step1 加载训练集和测试集合
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
  
  
# step2 创建模型
def create_model():
 return tf.keras.models.Sequential([
 tf.keras.layers.Flatten(input_shape=(28, 28)),
 tf.keras.layers.Dense(512, activation='relu'),
 tf.keras.layers.Dropout(0.2),
 tf.keras.layers.Dense(10, activation='softmax')
 ])
model = create_model()
  
# step3 编译模型 主要是确定优化方法,损失函数等
model.compile(optimizer='adam',
  loss='sparse_categorical_crossentropy',
  metrics=['accuracy'])
  
# step4 模型训练 训练一个epochs
model.fit(x=x_train,
  y=y_train,
  epochs=1,
  )
  
# step5 模型测试
loss, acc = model.evaluate(x_test, y_test)
print("train model, accuracy:{:5.2f}%".format(100 * acc))
  
# step6 保存模型的权重和偏置
model.save('my_model.h5') # creates a HDF5 file 'my_model.h5'
  
# step7 删除模型
del model # deletes the existing model
  
  
# step8 恢复模型
# returns a compiled model
# identical to the previous one
restored_model = tf.keras.models.load_model('my_model.h5')
  
# step9 测试模型
loss, acc = restored_model.evaluate(x_test, y_test)

3、
#保存训练模型
tf.saved_model.save(model, ‘path’)
加载训练模型
imported = tf.saved_model_load(‘path’)
model=imported.signatures[“serving_default”]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow是一个强大的机器学习库,可以用于构建和训练各种深度学习模型。在训练完一个模型后,我们通常会将模型保存到磁盘上以备将来使用。TensorFlow提供了一种简单的方法来保存加载模型。 在 TensorFlow 中,我们可以使用 `tf.saved_model` API 将模型保存到一个文件夹中。该文件夹包含了模型的图和变量等信息。保存模型时,我们可以指定要保存的内容,例如只保存变量或只保存图等等。 以下是一个保存加载模型的示例: ```python import tensorflow as tf from tensorflow import keras # 构建一个简单的模型 model = keras.Sequential([ keras.layers.Dense(64, activation='relu', input_shape=(784,)), keras.layers.Dense(10, activation='softmax') ]) # 训练模型 model.compile(optimizer=tf.train.AdamOptimizer(), loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) # 保存模型 export_path = './saved_model' tf.saved_model.simple_save( keras.backend.get_session(), export_path, inputs={'input_image': model.input}, outputs={t.name: t for t in model.outputs}) # 加载模型 with tf.Session(graph=tf.Graph()) as sess: tf.saved_model.loader.load(sess, [tf.saved_model.tag_constants.SERVING], export_path) graph = tf.get_default_graph() inputs = graph.get_tensor_by_name('input_image:0') outputs = graph.get_tensor_by_name('dense_1/Softmax:0') result = sess.run(outputs, feed_dict={inputs: x_test}) print(result) ``` 在上面的示例中,我们首先构建了一个简单的神经网络模型并训练了它。然后我们使用 `tf.saved_model.simple_save` 将模型保存到一个文件夹中。在保存模型时,我们指定了模型的输入和输出。最后,我们使用 `tf.saved_model.loader.load` 方法加载模型并运行它。 值得注意的是,在加载模型时,我们需要使用 `tf.Session` 和 `tf.Graph` 来创建一个新的计算图,并使用 `tf.saved_model.loader.load` 方法从文件夹中加载模型。在加载模型后,我们可以使用 `tf.get_default_graph` 方法获取默认的计算图,并使用 `graph.get_tensor_by_name` 方法获取输入和输出张量的引用。 这就是 TensorFlow保存加载模型的基本方法。当我们需要在生产环境中使用模型时,我们可以使用保存模型轻松地加载和运行它。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值