github博客传送门
博客园传送门
Keras保存为可部署的pb格式
加载已训练好的.h5格式的keras模型
传入如下定义好的export_savedmodel()方法内即可成功保存
import keras
import os
import tensorflow as tf
from tensorflow.python.util import compat
from keras import backend as K
def export_savedmodel(model):
'''
传入keras model会自动保存为pb格式
'''
model_path = "model/"
model_version = 0
model_signature = tf.saved_model.signature_def_utils.predict_signature_def(
inputs={'input': model.input}, outputs={'output': model.output})
export_path = os.path.join(compat.as_bytes(model_path), compat.as_bytes(str(model_version)))
builder = tf.saved_model.builder.SavedModelBuilder(export_path)
builder.add_meta_graph_and_variables(
sess=K.get_session(),
tags=[tf.saved_model.tag_constants.SERVING],
clear_devices=True,
signature_def_map={
tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
model_signature
})
builder.save()
print("save model pb success ...")
model = keras.models.load_model('model_data/weight.h5')
export_savedmodel(model)
Tensorflow保存为可部署的pb格式
- 在tensorflow绘图的情况下,使用tf.saved_model.simple_save()方法保存模型
- 传入session
- 传入保存路径
- 传入输入占位符在inputs={“input_name”: 网络输入占位符变量}
- 传入输出变量在outputs={“output_name1”: 网络输出变量, “output_name2”: 网络输出变量}
即可成功保存为可部署的pb格式
tf.saved_model.simple_save(sess,
"./model",
inputs={"myInput": x},
outputs={"myOutput": y})
保存好模型后会得到这样格式文件证明你保存没有问题了
variables/
variables.data-*****-of-*****
variables.index
saved_model.pb
print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)