搭建GPU版PyTorch Docker镜像
提要: 记录手动搭建GPU版PyTorch Docker镜像的过程。本地主机已经装好了显卡驱动,CUDA, cuDNN, 因此不再累述。本篇博客覆盖以下内容:
- Docker常用命令
- 搭建GPU版PyTorch镜像
Docker常用命令
- ubuntu安装步骤
$ apt-get update
$ apt-get -y install docker.io
# 检查Docker服务的状态
$ service docker.io status
# 一般显示 docker.io start/running, process xxxxx
#
# 把Docker安装为自启动服务,让它随服务器的启动而自动运行
update-rc.d docker.io defaults
#
# 测试Docker安装成功
docker run hello-world
# 如果本地没有hello-world镜像,会自动拉去一个
- Docker常用命令
### 显示版本信息 (与python, nvcc相比少了两个‘--’)
$ docker version### 了解当前Docker的使用状态(当前容器,镜像数目信息,存储空间占用信息,
# OS内核版本, 发行版本, 硬件资源等)
$ docker info### 拉去一个镜像 ( xxxx 表示某个镜像名字,)
$ docker pull xxxx
# e.g.
# docker pull ubuntu### 查看系统中已有的镜像(images要带‘s')
$ docker images
# e.g.:
# REPOSITORY TAG IMAGES ID CREATED VIRTUAL SIZE
# ubuntu latest 4ef6axxxxx 5 day ago 84.0M### 从镜像创建docker容器
$ docker run -i -t ubuntu /bin/bash
# or
$ docker run -it 4ef /bin/bash
# 其中 -i, 交互模式,让输入输出都在标准控制台进行;-d,则进入后台
# -t, 为新创建的容器分配一个伪终端
# ubuntu, 用于创建容器的镜像名,可用ID来代替(前3位足够)
# /bin/bash, 在新建容器中运行的命令,可以为任意Linux命令### 离开当前容器,返回宿主机终端,使用组合键 "Ctrl+P" 和 "Ctrl+Q"### 查看当前活动的容器
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
# 610xxxx ubuntu:latest "/bin/bash" 1 minute ago Up 1 minute ago prickly_wilson### 宿主机终端与某个容器建立连接
$ docker attach 610### 从容器创建Docker镜像
$ docker commit -m "hhahaha" 610 ubuntu:hhh
# -m, 新镜像说明
# 610, 某个容器的ID
# ubuntu:hhh, 命名最好不要这么随意
# 那么接下来可以查看新生成的镜像,命令 docker images### 基于新的镜像创建一个新的容器(一样的)
$ docker run -it ubuntu:hhh /bin/bash### 给镜像重命名(方便记忆)
$ docker tag IMAGEID(image id) REPOSITORY:TAG### 给容器重命名
$ docker rename old-container-name new-container-name
搭建GPU版PyTorch镜像
首先要安装docker, 其次要安装nvidia docker, 接着安装python, numpy, 最后安装pytorch并检验安装效果。安装docker在前文中,不再累述。
- 安装nvidia docker2
安装nvidia docker2 是为了拉取镜像nvidia/cuda,该镜像里包含了相应版本的CUDA和cuDNN,所以就不必再安装CUDA和cuDNN了,方便了不少。安装命令参考这里[https://github.com/NVIDIA/nvidia-docker], 这里给列出如下:
# If you have nvidia-docker 1.0 installed: we need to remove it # and all existing GPU containers
$ docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
$ sudo apt-get purge -y nvidia-docker# Add the package repositories
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
$ sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ 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# Install nvidia-docker2 and reload the Docker daemon configuration
$ sudo apt-get install -y nvidia-docker2
$ sudo pkill -SIGHUP dockerd# Test nvidia-smi with the latest official CUDA image
$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi# here nvidia-docker has been installed.
这是最终参考效果
可以看到其中的 nvidia/cuda,接下来基于这个镜像创建一个容器
$ nvidia-docker run -it xxx /bin/bash
# 其中xxx,表示镜像ID
# 效果是终端变为:root@xxxxxxx:
- 安装python, numpy
# 首先更新源
$ apt-get update# 查看python版本
$ apt-cache madison python
# 选择一个版本,比如 2.7.12-1~16.04# 安装python
$ apt-get install python=2.7.12-1~16.04
# 安装pip, 如果是python2.7,最好不要更新pip
$ apt-get install python-pip# 安装numpy
$ pip install numpy
- 安装pytorch
安装命令在pytorch[https://pytorch.org/]首页已经给出. 如果命令能够安装固然好,如果下载失败,就需要先下载下来,再安装。本博主是根据地址给下载下来在安装的
pip install torch-0.4.1-cp27-cp27mu-manylinux1_x86_64.whl
到这里就算安装结束了,不过最好还是验证一下。
- 验证安装效果
$ python
$ import torch
$ print torch.cuda.is_available()
# if 'True', congratulation; if 'False', please check again and again.
参考图片效果
- 生成镜像
生成镜像之后,镜像可以放在相同配置的机子上,非常方便,节省配置时间.
$ nvidia-docker commit -m 'hhhh' xxx xxxx
需要说明的是,如果nvidia docker安装成功了,nvidia-docker 和docker的效果是一致的。
搭建GPU版PyTorch Docker镜像相关推荐
- 基于Anaconda安装GPU版PyTorch深度学习开发环境
基于Anaconda安装GPU版PyTorch深度学习开发环境 1 安装Anaconda 2 安装GPU计算驱动 2.1 检查是否有合适的GPU 2.2 下载CUDA和cuDNN 2.3 安装CUDA ...
- conda安装GPU版pytorch,结果却是cpu版本[找到问题根源,从容解决]
conda安装GPU版pytorch,结果却是cpu版本[找到问题根源,从容解决] 一.问题描述 二.网上解决方案罗列[此节为反面方案罗列!!!] 三.发现的根本原因[独家] 3.1 pytorch文 ...
- gpu版pytorch安装
pytorch pytorch官网:https://pytorch.org/get-started/locally/ 目前gpu版pytorch安装不需要自己安装cuda,而且注意windows版仅支 ...
- Win10 从头开始搭建搭建GPU版darknet【CUDA11.1 + VS2019】
Win10 从头开始搭建搭建GPU版darknet 第一步:安装英伟达显卡驱动 首先我们需要来到英伟达的官网,这里附上链接nvidia. 进入官网后找到驱动程序,选择GeForce 驱动程序: 点击进 ...
- conda安装GPU版pytorch,却是cpu版本的原因
原因 用官网的命令conda安装GPU版本pytorch,发现是安装的cpu版本.查看了下库的信息,发现有一个pytorch-mutex库,这个就是原因所在,将其卸载后,再重新安装GPU版本就解决了. ...
- Win10搭建GPU版Darknet——VS2019+CUDA+CUDNN篇
一.理论知识简介 为了更好的理解gpu必要性,参考了一位博主的介绍,并对主要内容进行总结如下(如有要详细了解原理的,文末放置原博主链接): 1.1 CPU与GPU的区别 CPU和GPU不同之处在于其设 ...
- Windows10+GPU版 pytorch 安装
由于pytorch官网点击打开链接提供了windows的安装方式,故直接采用这种方法,当然也可以通过anaconda来安装. 由于是安装gpu的版本,故需要先安装cuda以及与其版本相对应的cudnn ...
- Harbor的搭建(vmware企业级docker镜像私服)
1.下载harbor,地址https://github.com/vmware/harbor 2.进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息 ...
- 【技术栈——00061】搭建关于python项目docker镜像的Dockerfile文件示例(自己的)
supervisor supervisor进入容器后还需要配置 supervisor的配置文件 脚本文件 gunicorn.conf的配置文件 # 指定基于的基础镜像 FROM ubuntu:18.0 ...
最新文章
- JTAG error:can not read register while CPU is running该如何解决
- OO实现ALV TABLE 二:ALV显示的三种形式
- html 下标签,html标签下
- 【caffe-Windows】以mnist为例的hdf5单标签处理——matlab实现
- Logistic回归——二分类 —— matlab
- VS2010 C++ 插件 VissualAssistX 安装
- 用英语描述计算机操作,操作系统的英文介绍
- c语言写一个五子棋小游戏
- 图层重命名快捷键_实际操作,在PS中如何批量给图层重命名并导出
- Java 读取PDF中的表格
- php获取扫描枪数据,条码扫描枪的读取技巧
- 各种图片格式之间的差别
- 程序员是做什么的?怎么成为程序员?
- python you-get库
- python normalize函数_opencv归一化函数normalize详解
- Error:Undefined symbol DMA_Cmd (referred from dac.o)
- samba文件共享服务器,全网最详细的samba文件共享服务!
- 后棱镜时代的个人信息黑洞,电影《绝对控制》在现实中存在吗?
- 基于阻抗控制的工业机器人轨迹跟踪系统 Simulink/Simscape 仿真
- 陈松松:视频营销老司机,教你6步轻松剪辑视频