Tf-serving+Nvidia-Docker+REST API+Tornado

使用tf-serving部署服务,REST API 是我们比较熟悉的一种服务调用方式,请求的数据格式一般为json格式,由于模型需要输入输出,因此结合tornado实现模型服务部署

1、docker环境

下载安装docker,若使用gpu安装nvidia-docker

2、镜像拉取 :

cpu: docker pull tensorflow/serving

gpu: docker pull tensorflow/serving:latest-gpu

3、克隆仓库

mkdir -p /tmp/tfserving

cd /tmp/tfserving

git clone --depth=1 https://github.com/tensorflow/serving

4、生成pb模型文件SavedModel格式

5、启动docker服务:

cpu: docker run -p 8500:8500 -p 8501:8501 --name tfserving --mount type=bind,source=/tmp/bert,target=/models/bert -e MODEL_NAME=bert -t tensorflow/serving

Gpu: docker run  --gpus all -e CUDA_VISIBLE_DEVICES=0 -p 8500:8500 -p 8501:8501 --name tfserving --mount type=bind,source=/tmp/bert,target=/models/bert -e MODEL_NAME=bert -t tensorflow/serving:latest-gpu --per_process_gpu_memory_fraction=0.03

6、启动web服务:

python3 xxx.py(xxx.pyb包括处理模型输入输出和加载已部署好的模型)

Tf-serving+Nvidia-Docker+REST API+Tornado_第1张图片

f.input_ids为处理后的模型输入

7、测试:

curl -X POST -d '{"word":"xxxx"}' http://localhost:port

8、关闭docker服务

停止docker容器:sudo docker stop tfserving_sent

删除docker容器:sudo docker rm tfserving_sent

你可能感兴趣的:(Tf-serving+Nvidia-Docker+REST API+Tornado)