本文基于已有的nvidia/cuda:10.1-cudnn8-devel-ubuntu18.04镜像,配置pytorch和python、conda训练环境
1.安装好docker软件,并且启动的情况下
docker pull nvidia/cuda:10.1-cudnn8-devel-ubuntu18.04
查看安装的镜像
docker images
2.创建启动容器
利用下载好的镜像,创建一个交互式的容器。
docker run -it --name cuda101 10.1-cudnn8-devel-ubuntu18.04
进入容器查看
nvidia-smi #cuda版本
nvcc -V
# 查看cudnn版本
cd /usr/lib/x86_64-linux-gnu/
ll |grep cudnn12345
安装一些必要的软件,安装依赖包
apt-get update
apt-get install -y curl vim tar libsndfile1 bzip2 gcc make wget lrzsz e
显示已经安装的软件包
apt list installed
升级
apt-get update
3.安装miniconda3
用conda管理环境,安装包
第一步下载
miniconda安装
`wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh`
第二步安装
bash Miniconda3-latest-Linux-x86_64.sh # uname -a
按enter–三下空格–输入yes–按enter–输入yes 同意安装协议
source ~/.bashrc
# 激活配置
第三步:配置镜像
配置镜像(安装一次,镜像也只配置一次,注意不要复制错误!!!)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
执行完上述命令后,会生成~/.condarc
第四步:创建小环境并安装软件
#创建名为lfcc的软件安装环境,同时安装python=3.9版本的软件
conda create -n lfcc python=3.9
查看当前conda环境
可以看到成功建立的lfcc
conda info --envs
激活/进入conda的lfcc环境,避免安装软件时安装到大环境
conda activate lfcc
测试python/python3
小环境创建成功,已经包含python3,可以随便安装包到小环境里啦
如
conda install pytorch torchvision torchaudio cudatoolkit=10.1 -c pytorch
或者用pip安装,更快
pip install scipy
pip install pytorch torchvision torchaudio
在https://pytorch.org查找对应版本
pip3 install torch==1.10.0+cpu torchvision==0.11.1+cpu torchaudio==0.10.0+cpu -f https://download.pytorch.org/whl/cpu/torch_stable.html
或者直接
pip install https://download.pytorch.org/whl
退出当前环境
source deactivate # 退出当前环境
conda命令集合
查看环境名:
conda info --envs 或conda info -e
查看已安装软件列表:
conda list
退出环境:
source deactivate
更新:
conda update python
(conda将python等软件都视为package)
假设当前环境是python 3.4, conda会将python升级为3.4.x系列的当前最新版本
删除全部packages
conda remove --name/-n wes --all
删除某个packages
source activate wes
conda remove multiqc
或直接指明name
conda remove -n wes numpy