在docker里同时集成cuda,tensorflow和vnc[搞事情.jpg]

编程入门 行业动态 更新时间:2024-10-10 19:17:24

在docker里同时集成cuda,tensorflow和vnc[搞<a href=https://www.elefans.com/category/jswz/34/1767167.html style=事情.jpg]"/>

在docker里同时集成cuda,tensorflow和vnc[搞事情.jpg]

看这个标题,就是要在docker里处理视频做计算……

目录

首先,必要的服务器配置说明:

1 从DockerHub下载你需要的cuda和cudnn版本对应的镜像。

2 安装tensorflow1.14和各种python包。

3 安装vnc

TIPS


 

首先,必要的服务器配置说明:

Ubuntu 18.04

gpu(已经安装好驱动)

docker

接下来是搞事情阶段:

【我曾完美找到了安装好nvidia 的镜像,安装好tensorflow1.14的镜像和安装好vnc的镜像,如果能组合到一起多好多简单啊。。。是我想多了。只能手动一层层盖楼】

1 从DockerHub下载你需要的cuda和cudnn版本对应的镜像。

(当初搞docker就是因为服务器的cuda和cudnn版本各种问题,本来好好的cuda10.0和cudnn7.6.4组合,多好的组合啊!然鹅代码不这么觉得。所以就找cuda10.0.130;cudnn7.6.3.30。)

在dockerHub找到nvidia的仓库,找tag是10.0-cudnn7-runtime-ubuntu16.04 的那个。

docker pull nvidia/cuda:10.0-cudnn7-runtime-ubuntu16.04

2 安装tensorflow1.14和各种python包。

当初找到的tensorflow官方镜像 ,里面有cuda10.0;cudnn7.4.1.5-1,但是只有tensorflow及其依赖包,算了。

docker pull tensorflow/tensorflow:1.14.0-gpu-py3

那么就开始我的手写dockerfile操作了

RUN APT_INSTALL="apt-get install -y --no-install-recommends" && \PIP_INSTALL="python3 -m pip --no-cache-dir install --upgrade" && \rm -rf /var/lib/apt/lists/* \/etc/apt/sources.list.d/cuda.list \/etc/apt/sources.list.d/nvidia-ml.list && \apt-get update && \# ==================================================================
# tools
# ------------------------------------------------------------------DEBIAN_FRONTEND=noninteractive $APT_INSTALL \build-essential \        libsm6 \libxext6 \libxrender-dev \libglib2.0-0 \libssl-dev && \cd /root/cmake && \./bootstrap && \make -j"$(nproc)" install && \
# ==================================================================
# python
# ------------------------------------------------------------------DEBIAN_FRONTEND=noninteractive $APT_INSTALL \software-properties-common \&& \add-apt-repository ppa:deadsnakes/ppa && \apt-get update && \DEBIAN_FRONTEND=noninteractive $APT_INSTALL \python3.6 \python3.6-dev \python3-distutils-extra \python3-venv python3-setuptools \protobuf-compiler python-pil python-lxml python-tk \&& \
#       get-pip.py is downloaded
#  python3.6 ~/get-pip.py && \ln -s /usr/bin/python3.6 /usr/local/bin/python3 && \ln -s /usr/bin/python3.6 /usr/local/bin/python && \cd /root/ && \tar -zxvf pip-19.3.1.tar.gz && \cd pip-19.3.1 && \python3 setup.py install && \pip install /root/numpy-1.16.5-cp36-cp36m-manylinux1_x86_64.whl && \pip install /root/scipy-1.2.2-cp36-cp36m-manylinux1_x86_64.whl && \pip install /root/opencv_python-4.1.1.26-cp36-cp36m-manylinux1_x86_64.whl && \pip install matplotlib==3.1.1 -i / && \pip install /root/Pillow-6.2.0-cp36-cp36m-manylinux1_x86_64.whl && \pip install /root/Cython-0.29.13-cp36-cp36m-manylinux1_x86_64.whl && \# ==================================================================
# tensorflow
# ------------------------------------------------------------------pip install tensorflow-gpu==1.14.0 -i / && \
# ==================================================================
# config & cleanup
# ------------------------------------------------------------------ldconfig && \apt-get clean && \apt-get autoremove && \rm -rf /var/lib/apt/lists/* /tmp/* /root/*

因为网速的原因,某些包我已经提前手动下载好,等着安装。不然老是build失败,太折磨人。比如cmake,pip,numpy等。

tensorflow的版本也不能随便写,和cuda,cudnn版本有对应关系的,详情见此:

这一段也是我从别人那复制过来,改了又改。如果有人看到原版欢迎留言,因为我忘了复制哪的==

3 安装vnc

仍旧先贴上别人的成品,网上有很多创建好的镜像,我就挑了一个dockerfile看起来很简单的,方便盖楼。

打开链接就能看到dockerfile的内容啦,这里就不贴出来了,根据自己的情况删删改改就能直接用,而且是一次成功!为大佬的dockerfile点赞。

END

TIPS

docker build时遇到的问题

问题背景:在dockerfile中修改了apt更新的源为aliyun,第一次build的时候没报这方面的问题,但是后续修改dockerfile再build的时候就开始报错“Temporary failure resolving 'mirrors.aliyun'”。

在dockerfile里改添加nameserver也没用。

经测试,在docker build后添加--network=host即可,参考自:。

有知道具体原因的大佬欢迎留言,还望不吝赐教。

用docker run启动的时候,记得要加--runtime=nvidia,不然可能会识别不到gpu,导致报错。

写出来怎么这么短,唉……

等我整理一下把所有东西打个包放GitHub供起来。

 

 

更多推荐

在docker里同时集成cuda,tensorflow和vnc[搞事情.jpg]

本文发布于:2024-02-06 05:25:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1746784.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:事情   cuda   docker   tensorflow   jpg

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!