保存下载的数据以及训练好的模型
Posted
技术标签:
【中文标题】保存下载的数据以及训练好的模型【英文标题】:Saving downloaded data as well as trained model 【发布时间】:2020-05-29 10:48:57 【问题描述】:有没有办法将特定代码块的执行保存在笔记本中,这样我就不必再次运行它了。并且可以在重新加载后继续执行其余代码吗? 例如,
from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
from tensorflow.keras import datasets, layers, models
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
(train_images1, train_labels), (test_images1, test_labels) = datasets.cifar10.load_data()
# Normalize pixel values to be between 0 and 1
train_images, test_images = train_images1 / 255.0, test_images1 / 255.0
#My cnn model, upto the training
#Save upto here.
我可以将执行保存到这里以供以后使用,包括下载的文件和训练好的模型。
【问题讨论】:
你在看什么?将训练和测试数据保存到 NumPy 数组或 H5 文件中?或者是其他东西?无法保存笔记本的执行,而是可以保存下载的数据。 @ashraful 保存执行的数据,这样我就不用从头开始了。 【参考方案1】:保存模型:
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
model.save_weights("model.h5")
print("Saved model .......")
加载保存的模型:
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("model.h5")
print("Loaded model...........")
更多细节,你可以找到我的实现here。现在这将同时保存dataset as well as trained model
。
【讨论】:
这个可以存储训练好的模型吗? 我正在寻找保存经过训练的模型,而不是数据库。【参考方案2】:有!您可以使用 numpy.save("train_images.npy", train_images)
保存 NumPy 数据并使用 train_images = numpy.load("train_images.npy")
加载它们。使用笔记本时,只需将 save
和 load
放在两个不同的单元格中,然后运行您需要的任何单元格。
文档:
save
load
有许多变体,例如 savez
将多个数组保存在未压缩文件中,savez_compressed
用于压缩文件。
【讨论】:
你能验证它是否有效吗?我不知道你是否真的使用过 NumPy 数组。如果您使用 NumPy 数组,这是事实上的标准方法。 但我也想保存我的深度学习训练模型。 这可以使用tensorflow.org/tutorials/keras/save_and_load轻松完成 您能否将其发布在答案中,它可能对其他人也有帮助?我会接受这个。以上是关于保存下载的数据以及训练好的模型的主要内容,如果未能解决你的问题,请参考以下文章