示例详述Docker部署tensorflow-serving
Docker简单入门
一、前言
工作中,有时需要线下验证训练好的模型,是否能在线上serving成功,所以需要利用docker来简单部署tensorflow-serving,然后线下进行验证模型能否成serving,避免出现模型过大,tensorflow-serving版本不对等情况,导致serving失败。
二、Docker部署tf-serving步骤
1、Docker安装(详见Docker简单入门)
2、拉取tensorflow-serving镜像
tensorflow-serving是向下兼容的,所以可拉取最近的
#默认是latest 其中registry.docker-cn.com为官方中国区镜像加速
docker pull registry.docker-cn.com/tensorflow/serving
3、准备好模型(pb格式),如下图
放置某目录,如: /tfserving/tf15img/100/ (这里需要注意,pb模型上级目录必须是个版本号,也就是说,上级目录名称必须是数字,如:这里是100)
4、利用上面下载好的镜像启动tf_serving服务
#输入该命令
docker run -p 8501:8501 --mount type=bind,source=/tfserving/tf15img/,target=/models/ctrcvr -e MODEL_NAME=ctrcvr -t tensorflow/serving-p: 指定主机到docker容器的端口映射--mount: 表示要进行挂载
source: 要部署的模型地址(必须是绝对路径,从根目录开始)
target: 模型挂载到docker容器中的目录
-t: 指定挂载到目标容器
-e: 指定模型名称
docker run: 启动这个容器并启动模型服务
启动成功效果:
5、调用,另开一个shell窗口,输入下面命令:
curl -X POST \http://localhost:8501/v1/models/ctrcvr:predict \-d '{"signature_name": "serving_default","instances":[{"device_t": ["ios"],"device_b": ["apple"],"device_m": ["iphone_se"],"network": ["1"],"system": ["ios"],"city_id": ["5350937"],"goodsid_clicks": ["653389", "675647", "705347", "525684", "773155"],"goodsid_collects": ["653389"],"goodsid_carts": ["653389"],"content": ["cases", "iphone", "xs", "max", "", ""]}]}'
instance中的特征必须是该模型serving过程需要输入的所有特征,特征顺序没有要求
6、最后输出的结果
"predictions": [[0.00267601665, 0.145611033, -0.0924021602, -0.0186253022, -0.13342154, 0.208785236, -0.112708218, 0.151671633, -0.0421785899, 0.0956602693, -0.0120493015, 0.136680216, -0.191573888, -0.141872212, -0.118211851, 0.0447497517, -0.115030959, -0.0443719514, -0.111011751, 0.139456689, 0.0404875278, 0.0229826104, 0.0780395493, -0.00982834585, -0.0615824722, -0.35205093, -0.0789170116, -0.0734161586, 0.0273077711, 0.21346961, 0.142884254, -0.0829004869, -0.145836487, -0.0888566896, 0.0892312154, 0.0952859297, 0.00696363347, -0.152534887, -0.213381305, 0.00924424734, 0.101483539, -0.0553223528, -0.0186863281, -0.0176770855, -0.0150718167, -0.182791546, -0.0509930961, -0.222394854, 0.153857246, -0.0752918795, 0.126283228, -0.170853496, -0.21987386, 0.11312595, -0.171711594, 0.0305050053, -0.117043316, 0.0611188486, 0.189837858, -0.00537029793, -0.112312466, -0.039727509, -0.0315540843, -0.228862554]]
7、关闭服务
docker ps -a #查看所有容器
docker stop contain_id #关闭当前启动的容器
8、成功,完结
示例详述Docker部署tensorflow-serving相关推荐
- 用Docker部署TensorFlow Serving服务
文章目录 1. 安装 Docker 2. 使用 Docker 部署 3. 请求服务 3.1 手写数字例子 3.2 猫狗分类例子 参考: https://tf.wiki/zh_hans/deployme ...
- Win10 基于Docker使用tensorflow serving部署模型
目录 安装Docker for Windows 安装 tensorflow-serving-api tensorflow serving on docker 测试tf server 方法3:grpc ...
- Win10下基于Docker使用tensorflow serving部署模型
windows就是更坑 安装Docker for Windows 前提:Docker for Windows需要带有Hyper-V的64位Windows 10 Pro,如果您的系统不符合运行Docke ...
- tf.saved_model.save模型导出、TensorFlow Serving模型部署、TensorBoard中的HParams 超参数调优
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 4.11 综合案例:模型导出与部署 学习目标 目标 掌握Ten ...
- 【Keras】TensorFlow Serving
当我们将模型训练完毕后,往往需要将模型在生产环境中部署.最常见的方式,是在服务器上提供一个 API,即客户机向服务器的某个 API 发送特定格式的请求,服务器收到请求数据后通过模型进行计算,并返回结果 ...
- TensorFlow Serving + Docker + Tornado机器学习模型生产级快速部署
点击上方"AI搞事情"关注我们 内容转载自知乎:https://zhuanlan.zhihu.com/p/52096200 Justin ho 〉 本文将会介绍使用TensorFl ...
- 用Docker容器自带的tensorflow serving部署模型对外服务
相信很多人和我一样,在试图安装tensorflow serving的时候,翻遍了网上的博客和官网文档,安装都是以失败而告终,我也是一样,这个问题折磨了我两个星期之久,都快放弃了.幸运的是在同事的建议下 ...
- 用Docker容器自带的tensorflow serving部署模型对外服务(成功率100%)
前传: 相信很多人和我一样,在试图安装tensorflow serving的时候,翻遍了网上的博客和官网文档,安装都是以失败而告终,我也是一样,这个问题折磨了我两个星期之久,都快放弃了.幸运的是在同事 ...
- Tensorflow Serving部署tensorflow、keras模型详解
写在篇前 本篇介绍如何使用Tensorflow Serving组件导出训练好的Tensorflow模型,并使用标准tensorflow model server来部署深度学习模型预测服务.tens ...
最新文章
- 3.1线性判别函数【模式识别】
- C语言中的位域 bit field [转]
- JAVA——System.in作为控制台输入时结束输入(输入EOF)解决方案
- 信息学奥赛一本通C++语言——1052:计算邮资
- Python_60之迭代器模块
- 健康档案管理系统方案/案列/APP/软件/小程序
- 《信号与系统》4.11.2系统函数的幅频特性和相频特性分析 MATLAB实现
- JdbcTemplate查询数据 三种callback之间的区别(ResultSetExtractor,RowMapperRowCallbackHandler)
- 《史上最简单的 SpringCloud 教程》系列 (转载 http://blog.csdn.net/forezp/article/details/70148833 本文出自方志朋的博客)
- chrome 截长图功能
- idea 无法找到要转到的声明
- 《生与死》(瓦特·兰德)
- 北大数学系女神推荐的几个硬核IT公众号
- php文件更名,php如何批量给文件改名
- Promise学习-手写一个promise
- pytorch学习之如何画损失函数曲线图
- 解决NativeCat能连接的上,但是IDEA连接不上
- BERT的学习理解笔记
- 财务生成报表软件只需要一个就够了
- 百度SEO合集 WordPress插件+seo优化插件+快速收录+网站蜘蛛