通过Docker构建TensorFlow Serving

Posted kenwoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Docker构建TensorFlow Serving相关的知识,希望对你有一定的参考价值。

最近在用Docker搭建TensorFlow Serving, 在查阅了官方资料后,发现其文档内有不少冗余的步骤,便一步步排查,终于找到了更简单的Docker镜像构建方法。这里有两种方式:

版本一:

FROM ubuntu:18.04

# Install general packages
RUN apt-get update && apt-get install -y wget && 
    apt-get clean && 
    rm -rf /var/lib/apt/lists/*
    
# New installation of tensorflow-model-server    
RUN TEMP_DEB="$(mktemp)"     && wget -O "$TEMP_DEB" ‘http://storage.googleapis.com/tensorflow-serving-apt/pool/tensorflow-model-server-1.8.0/t/tensorflow-model-server/tensorflow-model-server_1.8.0_all.deb‘  
    && dpkg -i "$TEMP_DEB"  
    && rm -f "$TEMP_DEB"  
    && mkdir /tmp/model-export    
    
EXPOSE 9000

# Serve the model when the container starts
ENTRYPOINT ["tensorflow_model_server"]
CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

版本二

FROM ubuntu:18.04

# Install general packages
RUN apt-get update && apt-get install -y curl gnupg

# New installation of tensorflow-model-server    
RUN echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | tee /etc/apt/sources.list.d/tensorflow-serving.list  
    && curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | apt-key add -  
    && apt-get update && apt-get install tensorflow-model-server  
    && apt-get clean  
    && rm -rf /var/lib/apt/lists/*      && mkdir /tmp/model-export 

EXPOSE 9000

# Serve the model when the container starts
ENTRYPOINT ["tensorflow_model_server"]
CMD ["--port=9000", "--model_name=model", "--model_base_path=/tmp/model-export"]

版本一生成的Docker镜像更小些,所以比较推荐第一种方法。至于为何会有第二个版本,因为是从官方的文档上找到的,而第一个来源自别人所提出问题的解答

将上述代码保存为dockerfile文件,再执行docker build命令:

docker build -t tensorflow-serving -f dockerfile .

之后,再通过docker run启动容器即可:

docker run -p 9000:9000 tensorflow-serving

以上是关于通过Docker构建TensorFlow Serving的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow:使用docker镜像搭建TensorFlow环境

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

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

为啥 docker build 中的 COPY 未检测到更新

简略描述在Ubuntu18.03部署Docker+Tensorflow GPU版+Pycharm

如何将 Docker 网络暴露给主机?