初学AI的你也能一键部署模型服务?奥利给!!

本文介绍了Docker作为容器技术,帮助AI初学者简化环境部署。通过Docker,可以实现模型服务的一键部署,避免繁琐的环境配置。文章详细讲解了Docker的基础概念、常用命令和Dockerfile的编写,通过实例展示了如何使用Docker部署一个图片分类服务。此外,还探讨了Docker的国内镜像、分层机制和节省镜像大小的方法,以及与其他工具如Git的结合使用。
摘要由CSDN通过智能技术生成

作者:Leon Wang,现为中科院特别研究助理 (博士后),在 AI、数据科学和科学计算等方面相关的工程实践上积累了丰富的经验。

编辑:王老湿

《AI炼丹炉实践指南》专栏前 6 篇:

  1. 学了不少AI算法,竟然还不懂什么是AI项目的工程素养?

  2. 老板想让我快速上线模型,但我连Linux还不会用

  3. 万万没想到,命令行也能玩数据分析?

  4. 万万没想到,用Shell脚本做AI批处理,真香

  5. 小白遇到多个Python环境乱如麻,如何破?

  6. conda:一个当下最流行的Python虚拟环境工具

-----------------正文分割线-----------------

很多朋友可能已经是业界的老手了,但也有朋友可能刚开始接触和学习,一些环境配置可能还都没习惯,更不用说部署模型服务这个工程的大问题了。有没有什么办法和工具能帮助大家在这个过程感觉舒适的部署模型呢?答案是有的!本期文章为大家介绍一个当下容器技术的代表——Docker。文章会首先介绍Docker的概念,Docker的基本语法和用法,以及和Docker相关的几个工具的介绍。

Docker是什么

容器与Docker

Docker是一种常用的容器化技术。这里的容器化和虚拟化是对应的概念,即Docker和VirtualBox等等虚拟机的效果有类似之处,但容器是更轻量化的一套隔离环境,不会额外虚拟硬件,很多资源和进程都是由宿主机直接执行,因此省了很多资源消耗,速度要比虚拟机快很多,特别适合机器学习等AI之类的计算密集型的程序隔离需求。

Docker的容器概念与Spring Boot的容器概念完全不同,后者是指Java代码的一种组织形式。这两种不同容器都与微服务有关。

为什么学Docker

首先给大家举个很常见的情景。某公司新人小王去办公室报道,公司老鸟老李吩咐小王先去把工作用到的开发环境部署好再叫他。但是小王是个萌新程序员,下载这些开发库的地址都不知道。冗长的环境安装手册看的小王头昏脑涨,更不用说里面还有些错误和没写清楚的细节。这个场景是不是很多公司都经常在上演?其实,我在很久之前就不停的想,都程序员了为什么还要看技术手册自己安装,难道就没有一个可靠的技术帮我一键部署好吗 ?

答案是,当然有!你差的就是Docker!有了他,小王只需要下载好前辈写好的Dockerfile,只要网络OK,就可以一键运行演示程序。有没有很简单?下面我就来拿一个Github项目来告诉你怎么样做到。

Docker部署实例

下面先来看如何部署一个最简单的图片分类服务的Demo程序,要求图片分类模型用深度学习框架Keras来实现,并通过flask发布模型的预测功能。下面我们就来看在Docker下的一键部署的过程。

首先,我们需要从Github上clone一份代码,进入这个文件夹。

git clone https://github.com/mtobeiyf/keras-flask-deploy-webapp.git
cd keras-flask-deploy-webapp

在进入到这个文件夹后,我们不妨看一下都有什么文件:

ls
app.py      LICENSE  README.md         static     util.py
Dockerfile  models   requirements.txt  templates

经过之前的学习,我们可以了解requirements.txt中管理了项目依赖。其他的文件中,Dockerfile是本次文章最核心的一个文件,有了他Docker才能在本地进行镜像的构建。这里我们可以把Dockerfile中的RUN pip install一行替换为RUN pip install -r /requirements.txt -i https://mirrors.aliyun.com/pypi/simple/,通过国内镜像来加速安装过程。我们可以输入下面的指令,自己构建一个测试镜像:

docker build -t keras_flask_test .

docker build就是Docker容器的镜像构建命令。这条命令执行后,会需要等待一段时间(主要是下载和安装,时间取决于机器配置和网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值