美文网首页
使用Docker部署 Tensorflow Serving 服务

使用Docker部署 Tensorflow Serving 服务

作者: generalz | 来源:发表于2020-03-09 11:37 被阅读0次

    Tensorflow Serving是Google开源的一个工业级在线深度学习服务
    部署Tensorflow Serving 有多种方式,基于Docker的方式是最安全也是最便捷的一种,省去Python环境的配置和不一致性麻烦。
    Tensorflow Serving官方Docker仓库
    环境:Ubuntu 16.4

    一、Docker环境安装

      sudo apt-get install docker 
      sudo apt-get install docker.io
    

    注意:Docker默认只能root权限使用,为了避免每次都sudo,可以将当前用户加入到docker组内。

    二、拉取Tensorflow Serving的镜像

    sudo docker pull tensorflow/serving
    

    默认是下载拉取官方的Tensorflow Serving版本
    下载完成后,本地就已经安装好了tensorflow serving。

    三、准备测试模型

    使用Tensorflow的官方Demo模型测试

    $  cd /home/username/program/#指定下载官方Demo目录
    $   git clone https://github.com/tensorflow/serving
    

    四、部署启动Serving模型

    $  sudo docker run -p 8501:8501 --mount type=bind,\
        source=/home/username/program/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu,\
    target=/models/half_plus_two  -e MODEL_NAME=half_plus_two -t tensorflow/serving &
    
    --mount:   表示要进行挂载
    -p:         指定主机到docker容器的端口映射.gRPC默认端口是8500,HTTP请求的默认端口是8501,
    source:    指定要运行部署的模型地址, 也就是挂载的源。这里制定的是下载的Demo的模型存储的地址,如果是自己训练的模型,目录指定此模型所在位置
    target:     挂载的目标位置,将模型加载到哪里,也就是挂载到docker容器中的哪个位置,这是docker容器中的目录。/models/是docker中默认模型位置, half_plus_two 是模型名,serving镜像中的程序会自动加载镜像内/models下的模型,通过MODEL_NAME指定/models下的哪个模型。
    -t:  指定的是挂载到哪个容器
    -e:  指定挂在的模型名称
    

    五、使用模型预测

    使用Http模式调用模型预测

    $ curl -d '{"instances": [1.0, 2.0, 5.0]}' \
      -X POST http://localhost:8501/v1/models/half_plus_two:predict
    

    返回输出结果:

    { "predictions": [2.5, 3.0, 4.5] }
    

    在此测试成功
    参考资料:
    https://blog.csdn.net/u011734144/article/details/82107610
    https://www.cnblogs.com/weiyinfu/p/9928363.html

    相关文章

      网友评论

          本文标题:使用Docker部署 Tensorflow Serving 服务

          本文链接:https://www.haomeiwen.com/subject/ujoddqtx.html