博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tensorflow Serving
阅读量:4957 次
发布时间:2019-06-12

本文共 1794 字,大约阅读时间需要 5 分钟。

TensorFlow Serving 是一个用于机器学习模型 serving 的高性能开源库。它可以将训练好的机器学习模型部署到线上,使用 gRPC 作为接口接受外部调用。更加让人眼前一亮的是,它支持模型热更新与自动模型版本管理。这意味着一旦部署 TensorFlow Serving 后,你再也不需要为线上服务操心,只需要关心你的线下模型训练。

export_path_base = sys.argv[-1]#导出的目录export_path = os.path.join(      compat.as_bytes(export_path_base),      compat.as_bytes(str(FLAGS.model_version)))#model_version明确了保存的模型的版本print 'Exporting trained model to', export_pathbuilder = tf.saved_model.builder.SavedModelBuilder(export_path)#如果目录不存在的话,将会创建目录builder.add_meta_graph_and_variables(#此方法导入graph的信息以及变量      sess, [tag_constants.SERVING],#标签名可以自定义,在之后载入模型的时候,需要根据这个标签名去查找对应的MetaGraphDef,找不到就会报RuntimeError。标签也可以选用系统定义好的参数,如tf.saved_model.tag_constants.SERVING与tf.saved_model.tag_constants.TRAINING。      signature_def_map={           'predict_images':               prediction_signature,           signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY:               classification_signature,      },      legacy_init_op=legacy_init_op)builder.save()

sess是Tensorflow session含有被导出的被训练的模型。

tags是标签化的模型,使用预定义的SavedModel tag constants.

signature_def_map user-supplied key: tensorflow::SignatureDef 明确了什么类型的模型被导出,什么类型的input/output tensors 被绑定,在inference的时候。

使用signature_def_utils.build_signature_def()去建立predict_signature 和classification_signature.

tf.saved_model.utils.build_tensor_info
tf.saved_model.signature_def_utils.build_signature_def

使用tf.saved_model.loader.load方法可以载入模型。

关于SignatureDef我的理解是,它定义了一些协议,对我们所需的信息进行封装,我们根据这套协议来获取信息,从而实现创建与使用模型的解耦。

 

下载完Tensorflow Serving,编译的命令:

bazel build -c opt //tensorflow_serving/model_servers:tensorflow_model_server 模型服务化,后边为保存模型的目录
bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server --port
=9000 --model_name=mnist --model_base_path=/models/mnist_model/
 

 

转载于:https://www.cnblogs.com/qniguoym/p/7919406.html

你可能感兴趣的文章
人需要治愈
查看>>
linux中configure文件默认执行结果所在位置
查看>>
Spring MVC例子
查看>>
jmeter 断言
查看>>
玩玩小爬虫——抓取时的几个小细节
查看>>
error C4996: 'fopen'
查看>>
Windows向Linux上传文件夹
查看>>
20180104-高级特性-Slice
查看>>
6个SQL Server 2005性能优化工具介绍
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
day14 Python 内置函数、匿名函数和递归函数
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>
宏观经济
查看>>
综合练习:词频统计
查看>>
BZOJ1026: [SCOI2009]windy数
查看>>
样板操作数
查看>>
64位UBUNTU下安装adobe reader后无法启动
查看>>
iTextSharp带中文转换出来的PDF文档显示乱码
查看>>