模型导出与部署TF Serving 与 Web开启服务

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型导出与部署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

  1. 获取最新TF Serving docker镜像

    docker pull tensorflow/serving
    
  2. 查看docker镜像

    docker images
    
  3. 运行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开启服务的主要内容,如果未能解决你的问题,请参考以下文章

模型导出与部署Web Server开启

TF serving模型部署 bazel编译安装

学习笔记TF022:产品环境模型部署Docker镜像Bazel工作区导出模型服务器客户端

Tensorflow Serving 初探

Tensorflow Serving介绍及部署安装

使用docker+tensorflow-serving进行模型热部署