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

    技术2022-07-14  68

    使用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.py包括处理模型输入输出和加载已部署好的模型)

    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

    Processed: 0.009, SQL: 9