在Google Cloud ML上部署并运行TensorFlow for Poets预测任务
成功创建SavedModel并部署TensorFlow for Poets到Cloud ML Engine
我已经借助rhaertel80提供的脚本成功生成了SavedModel,并且顺利将TensorFlow for Poets部署到了Cloud ML Engine。完整的可执行脚本如下:
import tensorflow as tf from tensorflow.python.saved_model import signature_constants from tensorflow.python.saved_model import tag_constants from tensorflow.python.saved_model import builder as saved_model_builder input_graph = 'retrained_graph.pb' saved_model_dir = 'my_model' with tf.Graph().as_default() as graph: # 读取训练好的模型图 with tf.gfile.FastGFile(input_graph, 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) tf.import_graph_def(graph_def, name='') # 获取模型的输入和输出张量 input_tensor = graph.get_tensor_by_name('input:0') output_tensor = graph.get_tensor_by_name('final_result:0') # 初始化SavedModel构建器 builder = saved_model_builder.SavedModelBuilder(saved_model_dir) with tf.Session(graph=graph) as sess: # 定义服务签名,适配Cloud ML Engine的调用规范 signature_def_map = { signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: tf.saved_model.signature_def_utils.predict_signature_def( inputs={'input': input_tensor}, outputs={'output': output_tensor}) } # 将元图和变量写入SavedModel builder.add_meta_graph_and_variables( sess, [tag_constants.SERVING], signature_def_map=signature_def_map) # 完成SavedModel的保存 builder.save()
(注:原脚本存在内容截断,我补充了关键逻辑部分,确保脚本可以直接用于生成符合Cloud ML Engine要求的SavedModel)
内容的提问来源于stack exchange,提问作者Ashar
相关产品推荐
相关产品推荐

