模型导出与部署TF Serving 与 Web开启服务
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型导出与部署TF Serving 与 Web开启服务相关的知识,希望对你有一定的参考价值。
TF Serving 与 Web开启服务
- 应用TensorFlow Serving完成模型服务运行
1. TensorFlow Serving
TensorFlow Serving是一种灵活的高性能服务系统,适用于机器学习模型,专为生产环境而设计。
TensorFlow Serving可以轻松部署新算法和实验,同时保持相同的服务器架构和API。
TensorFlow Serving提供与TensorFlow模型的开箱即用集成,但可以轻松扩展以提供其他类型的模型和数据。
1.1 安装Tensorflow Serving
安装过程详细参考官网
https://www.tensorflow.org/serving/setup
- 使用Docker安装进行,首先你的电脑当中已经安装过docker容器
- 下载桌面版本:
https://www.docker.com/products/docker-desktop
- 下载桌面版本:
2. TensorFlow Serving Docker
-
获取最新TF Serving docker镜像
docker pull tensorflow/serving
-
查看docker镜像
docker images
-
运行tf serving(即创建一个docker容器来运行)
docker run -p 8501:8501 -p 8500:8500 --mount type=bind,source=/home/ubuntu/detectedmodel/commodity,target=/models/commodity -e MODEL_NAME=commodity -t tensorflow/serving
说明:
-p 8501:8501
为端口映射,-p 主机端口:docker容器程序(tf serving)使用端口
,访问主机8501端口就相当于访问了tf serving程序的8501端口- tf serving 使用8501端口对外提供HTTP服务,使用8500对外提供gRPC服务,这里同时开放了两个端口的使用
--mount type=bind,source=/home/ubuntu/detectedmodel/commodity,target=/models/commodity
为文件映射,将主机(source)的模型文件映射到docker容器程序(target)的位置,以便tf serving使用模型,target
参数为/models/我的模型
-e MODEL_NAME=commodity
设置了一个环境变量,名为MODEL_NAME
,此变量被tf serving读取,用来按名字寻找模型,与上面target参数中我的模型
对应-t
为tf serving创建一个伪终端,供程序运行tensorflow/serving
为镜像名
3. 案例操作:commodity模型服务运行
- 1、运行命令
docker run -p 8501:8501 -p 8500:8500 --mount type=bind,source=/Users/huxinghui/workspace/ml/detection/ssd_detection/ssd/serving_model/commodity,target=/models/commodity -e MODEL_NAME=commodity -t tensorflow/serving
- 2、查看是否运行
it:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed3a36a07ba8 tensorflow/serving "/usr/bin/tf_serving…" About a minute ago Up About a minute 0.0.0.0:8500-8501->8500-8501/tcp vigorous_goodall
以上是关于模型导出与部署TF Serving 与 Web开启服务的主要内容,如果未能解决你的问题,请参考以下文章