Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)

15 篇文章 2 订阅
5 篇文章 0 订阅

前前篇(安装Docker):https://blog.csdn.net/qq_34717531/article/details/107933650

前篇(yolov3flask部署(cpu运行,没装cuda)):https://blog.csdn.net/qq_34717531/article/details/107938337

安装的docker是只支持cpu的,为了使用gpu,我们要安装nvidia-docker2。

一、安装nvidia-docker2

可参考:https://github.com/NVIDIA/nvidia-docker

Ubuntu 16.04/18.04/20.04, Debian Jessie/Stretch/Buster:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

cuda10测试:

sudo docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

 

二、配置cuda10+cudnn7+opencv4.4

下载一个cuda10的docker镜像(https://hub.docker.com/r/nvidia/cuda),并建立容器。

docker pull yadongw/cuda10.0-cudnn7-devel-ubuntu16.04-python3.5:latest

docker run -d  -it -p 4555:4555 --name=ycc --gpus all yadongw/cuda10.0-cudnn7-devel-ubuntu16.04-python3.5:latest bash

将本机opencv4.4复制到容器。

docker cp /home/ycc/opencv-4.4.0 73a9937be531:/home/
sudo docker exec -ti ycc bash

编译opencv4.4:https://blog.csdn.net/qq_34717531/article/details/107763872

可看到编译了cuda10 和 cudnn7.5 。

至此,cuda10配套的410显卡驱动 + cuda10 + cudnn7.5 + opencv4.4 在容器中配置完成。

 

三、安装flask,并测试yolov4flask

将python默认版本改为3.5:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

安装pip3,flask和pillow。

apt-get install python3-pip

将本机yolov4flask复制到容器,

docker cp /home/ycc/yolov4flask 73a9937be531:/home/

四、打包成docker镜像

docker commit -a "ycc" -m "yolov4flask" 73a9937be531 yolov4flask:v1

镜像打包好了,就是有点大啊,精简了一下,重新打包,还是有着6.68G:

可以直接下载opencv4.4(Python+opencv4.4 ,无cuda版本 ,可用于yolov4 cpu检测), 这个版本比较小:

sudo docker pull opencvcourses/opencv:440

 打包后也有3.36G(cpu版本)。

 

五、docker镜像部署

将自己打包的docker镜像进行部署,需要用到save和load。

docker save yolov4flask -o yolov4flask.tar

save将docker镜像保存为tar格式,放入服务器后,使用load,镜像就在服务器中了。

docker load -i yolov4flask.tar  

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学术菜鸟小晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值