零、综述
-
- save/load entire model
-
- saved_model
一、Save the weights
1.一次性保存所有参数
model.save_weights('./checkpoints/my_checkpoint')
2.加载权重
注意,用该方法保存模型只保存了参数,文件较小,加载较快,但是测试/部署时需要重建搭建网络。
model = create_model()
model.load_weights('./checkpoints/my_checkpoint')
loss, acc = model.evaluate(test_images, test_labels)
network.save_weights('weights.ckpt')
print('saved weights')
del network
network = Sequential([layers.Dense(256)...])
network.compile(optimizer=optimizer.Adam(lr=0.01),loss=tf.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
network.load_weights('weights.ckpt')
network.evaluate(ds_val)
二.Save the model
该方法把模型也保存了,文件较大,效率比较低。
network.save('model.h5')
del network
network = tf.keras.models.load_model('model.h5')
network.evaluate(x_val, y_val)
#三、ONNX
保存为onnx,这是通用格式,python生成的可以用c++解析,一般python训练而用C++部署。
注意,ONNX可以转TensorRT,以部署到NVIDIA的嵌入式设备中.
tf.saved_model.save(m, '/tmp/saved_model/')
imported = tf.saved_model.load(path)
f = imported.signatures["serving_default"]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)