- 1.2 服务介绍
- 1.3.1 概念介绍
- 1.3.2 快速入门
- 1.3.3 申请Quota
- 1.3.4 集群环境
- 1.3.5 Fdsfuse介绍
- 1.3.6 Tensorflow中使用hdfs
- 1.4 客户端使用
- 1.4.1 安装命令行工具
- 1.4.2 使用命令行工具
- 1.4.3 使用Python SDK
- 1.4.4 使用Web控制台
- 1.5 TrainJob功能
- 1.5.1 训练任务组件和流程
- 1.5.2 上手Trainjob
- 1.5.3 使用GPU
- 1.5.4 使用FDS
- 1.5.5 使用Fuse
- 1.5.6 Trainjob高级功能
- 1.5.6.1 分布式训练
- 1.5.6.2 使用前置/后置命令
- 1.5.6.3 自动超参数调优
- 1.5.6.4 自动超参数调优Hpjob
- 1.5.6.5 自动超参数调优Hpjob
- 1.5.6.6 使用自定义镜像
- 1.5.6.7 使用TensorFlow模板应用
- 1.5.6.8 使用HDFS
- 1.5.6.9 使用HDFS FUSE
- 1.6 ModelService功能
- 1.6.1 模型服务使用流程
- 1.6.2 TensorFlow Serving介绍
- 1.6.3 使用GPU模型服务
- 1.6.4 使用多副本和负载均衡
- 1.6.5 在线服务的模型升级
- 1.6.6 模型服务监控
- 1.6.7 使用前置命令和后置命令
- 1.6.8 定制模型服务Docker镜像
- 1.6.9 使用客户端预测
- 1.6.9.1 使用通用gRPC客户端
- 1.6.9.2 使用Python客户端
- 1.6.9.3 使用Java客户端
- 1.6.9.4 使用Scala客户端
- 1.6.9.5 使用Golang客户端
- 1.6.9.6 使用C++客户端
- 1.7 DevEnv功能
- 1.7.1 开发环境使用流程
- 1.7.2 使用命令行管理开发环境
- 1.7.3 使用WEB控制台管理开发环境
- 1.7.4 高级功能
- 1.7.4.1 使用GPU开发环境
- 1.7.4.2 使用FDS FUSE存储
- 1.7.4.3 使用HDFS存储
- 1.7.4.4 使用HDFS FUSE存储
- 1.7.4.5 网络和安全
- 1.7.4.6 监控
- 1.7.4.7 定制开发环境Docker镜像
- 1.7.5 最佳实践
- 1.8 使用率监控
- 1.8.1 GPU使用率监控
- 1.9 TensorboardService功能
- 1.9.1 TensorBoard使用流程
- 1.9.2 TensorBoard介绍
- 1.10 API文档
- 1.10.1 签名规范
- 1.10.2 API文档
- 1.11 问题反馈
- 1.11.1 FAQ
- 1.11.2 技术支持
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.6.2 TensorFlow Serving介绍
简介
TensorFlow的模型文件包含了深度学习模型的Graph和所有参数,其实就是checkpoint文件,用户可以加载模型文件继续训练或者对外提供Inference服务。
使用SavedModel导出模型
模型导出方式参考 https://tensorflow.github.io/serving/serving_basic 。
使用方法基本如下。
from tensorflow.python.saved_model import builder as saved_model_builder
export_path_base = sys.argv[-1]
export_path = os.path.join(
compat.as_bytes(export_path_base),
compat.as_bytes(str(FLAGS.model_version)))
print 'Exporting trained model to', export_path
builder = saved_model_builder.SavedModelBuilder(export_path)
builder.add_meta_graph_and_variables(
sess, [tag_constants.SERVING],
signature_def_map={
'predict_images':
prediction_signature,
signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:
classification_signature,
},
legacy_init_op=legacy_init_op)
builder.save()
可以参考 https://github.com/tobegit3hub/deep_recommend_system/ 提供的可运行代码示例。
./dense_classifier.py --mode savedmodel
使用exporter导出模型
这里有导出TensorFlow serving支持的模型文件例子,可以参考使用 https://github.com/tobegit3hub/deep_recommend_system/blob/master/dense_classifier.py 。
导出的代码也比较简单,用户在inputs和output中填入模型Inference时的输入和输出即可。
from tensorflow.contrib.session_bundle import exporter
flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_string("model_path", "./model", "The path to export the model")
flags.DEFINE_integer("export_version", 1, "Version number of the model")
# Define the graph
keys_placeholder = tf.placeholder(tf.int32, shape=[None, 1])
keys = tf.identity(keys_placeholder)
# Start the session
# Export the model
print("Exporting trained model to {}".format(FLAGS.model_path))
model_exporter = exporter.Exporter(saver)
model_exporter.init(
sess.graph.as_graph_def(),
named_graph_signatures={
'inputs': exporter.generic_signature({"keys": keys_placeholder, "features": inference_features}),
'outputs': exporter.generic_signature({"keys": keys, "softmax": inference_softmax, "prediction": inference_op})
})
model_exporter.export(FLAGS.model_path, tf.constant(FLAGS.export_version), sess)
print 'Done exporting!'
与SavedModel方法相比,两者都可以直接用TensorFlow Serving加载,我们使用deep_recommend_system导出两种模型方式测试过预测结果一模一样,只是模型文件大小不同。
导入带assert的模型文件
在NLP等场景除了参数文件,还需要导入vocabulary等文件,可以在exporter中设置assets_collection,参考 https://github.com/tensorflow/serving/issues/264 。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论