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

前前篇(安装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

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第1张图片

 

二、配置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

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第2张图片

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

docker cp /home/ycc/opencv-4.4.0 73a9937be531:/home/

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

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

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第3张图片

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第4张图片

至此,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

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第5张图片

将本机yolov4flask复制到容器,

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

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第6张图片

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第7张图片

Docker学习(下)nvidia-docker2的安装和使用(yolov4flask模型部署)_第8张图片

四、打包成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  

 

你可能感兴趣的:(yolov4,docker,opencv,docker,深度学习,python)