从头搭建pytorch Docker镜像

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

前言

此文不需要前言请从正文开始

开始搭建

正文

默认大家都是有一定docker基础的没有的话建议去花个20分钟学一下基础知识。相对于配置cuda来说我觉得pytorch还是更简单一些。因此这里以官方的nvidia/cuda:10.2-cudnn8-runtime-ubuntu18.04为基础构建pytorch深度学习环境。你可以根据自己的需求选择合适的版本地址如下cuda官方docker镜像地址python可以选择官方纯净版好处是小坏处是什么都得自己配置。也可以选择conda好处是省心坏处是比较大

从docker hub下载镜像

docker pull nvidia/cuda:10.2-cudnn8-runtime-ubuntu18.04

下载完成后使用docker images确认镜像信息。

创建容器并运行

docker run -it --name pytorch1.12.1-cuda10.2  nvidia/cuda:10.2-cudnn8-runtime-ubuntu18.04 /bin/bash  # 这里镜像名称可以使用ID号为了更清晰这个使用名称

PS: 一般创建运行后就会直接进入容器如果没有先使用docker ps -a查看容器信息然后使用docker exec --it 容器ID /bin/bash进入容器内部。

更新容器

运行以下命令更新系统和安装基础包

apt update
apt install -y wget build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev liblzma-dev
apt clean
rm -rf /var/lib/apt/lists/*

这里可能出现的报错

W: GPG error: https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64  > InRelease: The following signatures couldn't be verified because the public key is not available:  NO_PUBKEY A4B469963BF863CC
E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64   InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

解决办法

  • 1、获取gpg公钥
gpg --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC
  • 2、导出公钥加入到 apt 信任密钥
gpg --export --armor A4B469963BF863CC | apt-key add -
  • 然后再运行上面的命令即可

*安装python

这里为了清晰的知道文件在哪先新建临时目录然后进入到目录下下载python源码包再编译安装。

  • 首先新建并进入临时目录
    mkdir /temp
    cd temp
  • 下载python
    wget https://www.python.org/ftp/python/3.7.13/Python-3.7.13.tgz
  • 然后解压
    tar -xvf Python-3.7.13.tgz
  • 进入解压后的python文件夹
    cd Python-3.7.13
  • 编译安装
    –prefix用于指定安装位置
    –enable-optimizations用于优化配置
    ./configure --prefix=/usr/local/python3.7 --enable-optimizations
    ./configure --enable-optimizations
    编译步骤较为漫长根据cpu核心数使用-j选项采用多线程编译可以加快编译速度 例如我的CPU核心数为8线程数=核心数*
    make -j8
    make install
  • 建立建立指向python3.7和pip3.7的软链接
    ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
    ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3

*安装anaconda

下载地址https://repo.anaconda.com/archive/index.html
这里我以2021.05版本为例

  • 下载安装
wget -c https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
# 安装
bash Anaconda3-2021.05-Linux-x86_64.sh

然后一直按enter直到出现需要输入yes。输入yes后会提示你安装路径

Anaconda3 will now be installed into this location:
/root/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/anaconda3] >>>

这里可以填个自己的路径记录一下或者默认的也可以按enter继续。
在这里插入图片描述
初始化输入yes。这里也可以看到安装路径。

Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes

在这里插入图片描述
然后会提示安装完成。
在这里插入图片描述

  • 配置环境变量
export PATH=~/anaconda3/bin:$PATH  # 添加环境变量
source ~/.bashrc  # 刷新bashrc

这里的export PATH填的是conda的bin文件地址。默认地址可以填上面那个到这里可以输入python和conda list查看是否安装成功。

  • 镜像源配置
    这里和python配置镜像源一样。
    打开配置文件
    vi ~/.condarc
    然后输入
channels:
  - http://mirrors.aliyun.com/anaconda/cloud/stackless
  - https://mirrors.aliyun.com/anaconda/cloud/simpleitk
  - https://mirrors.aliyun.com/anaconda/cloud/rdkit
  - https://mirrors.aliyun.com/anaconda/cloud/rapidsai
  - https://mirrors.aliyun.com/anaconda/cloud/qiime2
  - https://mirrors.aliyun.com/anaconda/cloud/pyviz
  - https://mirrors.aliyun.com/anaconda/cloud/pytorch3d
  - https://mirrors.aliyun.com/anaconda/cloud/pytorch-test
  - https://mirrors.aliyun.com/anaconda/cloud/pytorch
  - https://mirrors.aliyun.com/anaconda/cloud/psi4
  - https://mirrors.aliyun.com/anaconda/cloud/plotly
  - https://mirrors.aliyun.com/anaconda/cloud/omnia
  - https://mirrors.aliyun.com/anaconda/cloud/ohmeta
  - https://mirrors.aliyun.com/anaconda/cloud/numba
  - https://mirrors.aliyun.com/anaconda/cloud/msys2
  - https://mirrors.aliyun.com/anaconda/cloud/mordred-descriptor
  - https://mirrors.aliyun.com/anaconda/cloud/menpo
  - https://mirrors.aliyun.com/anaconda/cloud/matsci
  - https://mirrors.aliyun.com/anaconda/cloud/intel
  - https://mirrors.aliyun.com/anaconda/cloud/idaholab
  - https://mirrors.aliyun.com/anaconda/cloud/fermi
  - https://mirrors.aliyun.com/anaconda/cloud/fastai
  - https://mirrors.aliyun.com/anaconda/cloud/dglteam
  - https://mirrors.aliyun.com/anaconda/cloud/deepmodeling
  - https://mirrors.aliyun.com/anaconda/cloud/conda-forge
  - https://mirrors.aliyun.com/anaconda/cloud/caffe2
  - https://mirrors.aliyun.com/anaconda/cloud/c4aarch64
  - https://mirrors.aliyun.com/anaconda/cloud/bioconda
  - https://mirrors.aliyun.com/anaconda/cloud/biobakery
  - https://mirrors.aliyun.com/anaconda/cloud/auto
  - https://mirrors.aliyun.com/anaconda/cloud/Paddle
  - https://mirrors.aliyun.com/anaconda/pkgs/r
  - https://mirrors.aliyun.com/anaconda/pkgs/msys2
  - https://mirrors.aliyun.com/anaconda/pkgs/main
  - https://mirrors.aliyun.com/anaconda/pkgs/free
show_channel_urls: true

ssl_verify: true
allow_conda_downgrades: true

最后按esc输入:wq保存退出。

  • 配置pip镜像
mkdir ~/.pip
cd ~/.pip/
vi pip.conf

然后输入

[global] 
index-url = http://mirrors.aliyun.com/pypi/simple/ 
[install] 
trusted-host=mirrors.aliyun.com

安装pytorch

pytorch安装相对很简单

  1. 点击这里进入打开pytorch官方
  2. 选择适合自己的torch版本复制命令。注意conda和pip是分开的cuda版本查看可以参考这篇文章
  3. 在容器中粘贴命令运行在弹出时输入y继续运行然后等待安装完成即可。
  4. 使用pip list/conda list查看是否有torch包使用以下命令验证是否安装成功。
import torch
print(torch.__version__)

在这里插入图片描述

参考文献

Pytorch Docker镜像构建教程不同系统、CUDA、Python版本
docker容器安装TensorFlow_gpu 版本遇到的坑。。。
Ubuntu18.04安装python3.7
27 | Ubuntu18.04.5 安装python3.7及卸载

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Docker

“从头搭建pytorch Docker镜像” 的相关文章