docker挂载NVIDIA显卡运行pytorch
$ uname -a
Linux CentOS 3.10.-514.26..el7.x86_64 # SMP Tue Jul :: UTC x86_64 x86_64 x86_64 GNU/Linux
$ cat /usr/local/cuda/version.txt
CUDA Version 8.0.
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A
#define CUDNN_MAJOR 6
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 21
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#include "driver_types.h"
# NVIDIA 1080ti
$ ls -la /dev | grep nvidia
crw-rw-rw- root root , Nov : nvidia0
crw-rw-rw- root root , Nov : nvidia1
crw-rw-rw- root root , Nov : nvidiactl
crw-rw-rw- root root , Nov : nvidia-uvm
crw-rw-rw- root root , Nov : nvidia-uvm-tools
电脑上装了两个显卡。我需要运行pytorch,dockerhub中pytorch官方镜像没有gpu支持,所以只能先pull一个anaconda镜像试试,后面可以编排成Dockerfile。
$ docker run -it -d --rm --name pytorch -v /home/qiyafei/pytorch:/mnt/home --privileged=true --device /dev/nvidia-uvm:/dev/nvidia-uvm --device /dev/nvidia1:/dev/nvidia1 --device /dev/nvidiactl:/dev/nvidiactl okwrtdsh/anaconda3 bash
$ conda install pytorch torchvision -c pytorch

$ sudo rpm -i nvidia-docker-1.0.-.x86_64.rpm && rm nvidia-docker-1.0.-.x86_64.rpm
$ sudo systemctl start nvidia-docker
$ docker pull nvidia/cuda
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
在容器内测试是可以成功使用nvidia显卡的:

- 合适的镜像:这里推荐Floydhub的pytorch,注意对应的cuda和cudnn版本。
docker pull floydhub/pytorch:0.3.-gpu.cuda8cudnn6-py3.
nvidia-docker run -ti -d --rm floydhub/pytorch:0.3.-gpu.cuda8cudnn6-py3. bash

.png)
- 自制dockerfile
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
$ vim Dockerfile FROM nvidia/cuda
LABEL author="qyf"
ENV PYTHONIOENCODING=utf-
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
ADD $PWD/sources.list /etc/apt/sources.list
RUN apt-get update --fix-missing && \
apt-get install -y vim net-tools curl wget git bzip2 ca-certificates libglib2.- libxext6 libsm6 libxrender1 mercurial subversion apt-transport-https software-properties-common
RUN apt-get install -y openssh-server -y
RUN echo 'root:passwd' | chpasswd
RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && wget --quiet https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh -O ~/anaconda.sh && /bin/bash ~/anaconda.sh -b -p /opt/conda && rm ~/anaconda.sh
ENV PATH /opt/conda/bin:$PATH
RUN conda install pytorch torchvision -c pytorch -y
ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/bin/bash" ]
docker build -t pytorch/cuda8 ./
.png)


.png)

.png)
docker挂载NVIDIA显卡运行pytorch的更多相关文章
- docker 使用 Nvidia 显卡
docker19.03读取NVIDIA显卡 作者: 张首富 时间: 2019-09-06 w x: y18163201 前言 2019年7月的docker 19.03已经正式发布了,这次发布对我来说有 ...
- Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- CentOS 7.0 Nvidia显卡安装步骤
from: http://blog.sina.com.cn/s/blog_49c0985a0102v3fa.html CentOS 7.0 Nvidia显卡安装步骤: 1 在英伟达官网下载相应驱动 搜 ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- ubuntu13.04 Thinkpad W520安装nvidia显卡驱动
Ubuntu13.04 amd64 Thinkpad W520安装Nvidia显卡驱动 曾经在ubuntu11.10上成功安装Nvidia显卡驱动.但是自从机器(Thinkpad W520)更新到13 ...
- Linux操作系统安装Nvidia显卡驱动
一直以来,Linux分支系统使用过程中都有驱动适配麻烦,完全适配的驱动也不多.对于Nvidia显卡而言,一般Linux各分支操作系统虽然提供了N卡开源驱动工程Nouveau,但是性能上还是有待提高.下 ...
- Ubuntu下安装nvidia显卡驱动
layout: post title: Ubuntu下安装nvidia显卡驱动 date: 2015-10-02 17:19:06 categories: 常用命令 tags: 显卡 驱动 最近一直在 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- NVIDIA 显卡温度提示过高,显卡温度高99度怎么办?
你可能没有在意您的NVIDIA(英伟达)显卡温度,那么你就不会知道显卡温度过高如何导致的呢?也不会知道如果去解决显卡温度过高的问题了,在此我希望在电脑玩游戏或者在办公中电脑速度快慢,或者发热的情况下, ...
随机推荐
- Oracle触发bug(cursor: mutex S),造成数据库服务器CPU接近100%
问题现象: 项目反馈系统反应非常缓慢,数据库服务器CPU接近100%! INSERT INTO GSPAudit1712(ID,TypeID,CategoryID,DateTime,UserID,Us ...
- Angular整合zTree
1 前提准备 1.1 新建一个angular4项目 参考博文:点击前往 1.2 去zTree官网下载zTree zTree官网:点击前往 三少使用的版本:点击前往 2 编程步骤 从打印出zTree对象 ...
- 在虚拟机中安装metasploit官方攻防模拟器
首先我们要在windwos下载安装perl环境.下载地址: http://pan.baidu.com/s/1i3GLKAp 然后我们安装 点击next 我同意,next next next,然后他会安 ...
- 【批处理学习笔记】第十三课:常用dos命令(3)
网络命令ping 进行网络连接测试.名称解析ftp 文件传输net 网络命令集及用户管理telnet 远程登陆ipconfig显示.修改TCP/IP设置msg 给用户发送消息arp 显示.修改局域网的 ...
- Codeforces Round #300(A.【字符串,多方法】,B.【思维题】,C.【贪心,数学】)
A. Cutting Banner time limit per test:2 seconds memory limit per test:256 megabytes input:standard i ...
- 几道数位DP
因为这几天写的几道数位DP大多都太水..而且也确实没什么好讲所以就扔到一起了. [hdu4772]Good Numbers 要求统计区间内 各位数之和能被10整除 的数的个数. 练手,f[i][j][ ...
- UVA424高精度加法
One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of po ...
- python面向对象进阶
前言 上节大话python面向对象对面向对象有了一些了解,这次就不用大话风格了 (ps:真心不好扯啊) isinstance与issubclass isinstance(obj,cls)检查是否obj ...
- CLR 简介
(一)CLR介绍 CLR是一个可以由多编程语言使用的运行时,CLR的核心功能:内存管理,程序集加载,安全性,异常处理,线程同步等等.可以被很多属于微软系列的开发语言使用. 事实上,在运行时,CLR根本 ...
- [学习OpenCV攻略][013][Mat - 基本图像容器]
Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针. 矩阵属于多个 Mat 对象, ...