保持卷积神经网络模型

时间:2017-03-13 03:01:10

标签: tensorflow convolution

如何保持卷积神经网络的训练结果,以便不同的数据可以再次用于测试?

2 个答案:

答案 0 :(得分:0)

如果您使用带有tensorflow的 keras ,则可以将模型保存在 json 中并以 hdf5 文件格式加权。

# keras library import  for Saving and loading model and weights

from keras.models import model_from_json
from keras.models import load_model

# serialize model to JSON
#  the keras model which is trained is defined as 'model' in this example
model_json = model.to_json()


with open("model_num.json", "w") as json_file:
    json_file.write(model_json)

# serialize weights to HDF5
model.save_weights("model_num.h5")

files" model_num.h5"和" model_num.json"创建包含我们的模型和权重

要使用相同的训练模型进行进一步测试,您只需加载hdf5文件并将其用于预测不同的数据。 这里是如何从保存的文件加载模型。

# load json and create model
json_file = open('model_num.json', 'r')

loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)

# load weights into new model
loaded_model.load_weights("model_num.h5")
print("Loaded model from disk")

model.save('model_num.hdf5')
loaded_model=load_model('model_num.hdf5')

要预测不同的数据,您可以使用此

loaded_model.predict_classes("your_test_data here")

答案 1 :(得分:0)

如果您使用的是keras,则可以将其保存为hdf5文件格式并加载以进行测试。

from keras.models import load_model

model.save('path where you want to save with h5 extension')

要加载以供以后使用

model = load_model('path of the h5 file which we saved using model.save')