如何用web.py+docker来部署keras模型(二)

上一期我们讲到了在自己的本机上运行我们的模型及网页演示,这期我们将如何将我们做好的application部署到别的地方。

我们用到的工具叫 Docker

一、docker介绍

Docker 是一种使用容易部署和运行应用程序的工序。容器使得开发人员可以将应用系统和所需的所有部分(如库和其他依赖项)打包在一起,并将其全部打包为一个软件包。这样,借助容器,开发人员可以放心将该应用程序运行在任何其他linux机器上,而不用管该机器的自定义设置。

某种程度上,Docker有点像虚拟机。但是,与虚拟机不通,Docker无需创建整个虚拟操作系统,而是允许应用系统使用与其所运行的系统相同的Linux内核。这可以显著提高性能并减少应用系统的大小。

二、写 Dockerfile

如何用web.py+docker来部署keras模型(二)

在之前的工作目录里写Dockerfile, 注意这个文件的命名就叫 Dockerfile

#选择系统 FROM ubuntu  #维护人员的联系方式 MAINTAINER rl2987@columbia.edu  LABEL version="1.0"  #输出的端口 EXPOSE 8080  #给docker中文环境 ENV LANG C.UTF-8  #更新ubuntu系统,下载相关的dependency RUN apt-get update RUN apt-get install  libsm6 libxrender1 libxext-dev gcc -y  ##下载Anaconda3 python 环境安装包 放置在程序目录 url地址https://repo.anaconda.com/archive/Anaconda3-2019.03-Linux-x86_64.sh  #docker工作目录 WORKDIR  /keras-docker  #将当前目录下的全部内容放入docker工作目录 ADD . /keras-docker  #安装anaconda RUN cd /keras-docker && sh -c '/bin/echo -e "nyesnnyes" | sh Anaconda3-2019.03-Linux-x86_64.sh'  #下载python及需要的包 RUN echo -e "ny" | /root/anaconda3/bin/conda install python=3.6.7 RUN echo -e "ny" | /root/anaconda3/bin/conda install -c conda-forge scipy numpy==1.17.2 easydict cython h5py pandas requests beautifulsoup4 RUN echo -e "ny" | /root/anaconda3/bin/conda install -c conda-forge scikit-learn cheroot mahotas joblib RUN /root/anaconda3/bin/pip install tensorflow==1.13.2 keras==2.2.5 RUN /root/anaconda3/bin/pip install web.py==0.40.dev1 opencv-contrib-python==4.0.0.21 pillow==6.2.0  #在docker中删除anaconda的安装文件 RUN rm Anaconda3-2019.03-Linux-x86_64.sh

三、build image

这部分可以先看视频

如何用web.py+docker来部署keras模型(二)build docker imagehttps://www.zhihu.com/video/1181404051319881728

1、build docker

如何用web.py+docker来部署keras模型(二)

 

docker build -t keras-docker:1.0 .

注意最后的那个点是精髓,表示在当前文件夹创建docker, 用当前文件夹内的文件

2、save image to tar file

docker save -o keras-docker_1-0.tar keras_docker:1.0

注意这一步很慢,我等了两分多钟,请耐心等待

四、如何使用

同样先看视频

如何用web.py+docker来部署keras模型(二)run docker imagehttps://www.zhihu.com/video/1181404182735802368

1、打开tar文件

如何用web.py+docker来部署keras模型(二)
docker run -p 8080:8080 keras_docker:1.0 /root/anaconda3/bin/python app.py

这个可是前台运行,可以看到部署的情况
也可以后台运行

docker run -d -p 8080:8080 keras_docker:1.0 /root/anaconda3/bin/python app.py

然后在浏览器中打开

http://0.0.0.0:8080/kind

就可以使用啦!

五、docker image 的下载地址

我已经上传到docker hub上,直接下载就好

docker pull rachelliu/keras_docker:1.0

结束了!
大声回答 爱不爱我!

附上期教程地址:

如何用web.py + docker来部署keras模型(改)


转自:https://zhuanlan.zhihu.com/p/93252460

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注