文章目录
作者丨伍天舟、马曾欧、陈信达
来源丨 Datawhale
编辑丨极市平台
极市导读
俗话说,环境配不对,学习两行泪。本文为保姆级别的教程,详细介绍了 Windows、Mac 和 Ubuntu 的深度学习环境配置方法及问题,帮助卡在环境配置的小伙伴们,解决入门难关。
入门深度学习,很多人经历了从入门到放弃的心酸历程,且千军万马倒在了入门第一道关卡:环境配置问题。俗话说,环境配不对,学习两行泪。
如果你正在面临配置环境的痛苦,不管你是 Windows 用户、Ubuntu 用户还是苹果死忠粉,这篇文章都是为你量身定制的。接下来就依次讲下 Windows、Mac 和 Ubuntu 的深度学习环境配置问题。
一、Windows 系统深度学习环境配置
系统:Win10 64 位操作系统
安装组合:Anaconda+PyTorch (GPU 版)+GTX1060
开源贡献:伍天舟,内蒙古农业大学
1.1 打开 Anaconda Prompt
1、conda create -n pytorch python=3.7.0:创建名为 pytorch 的虚拟环境,并为该环境安装 python=3.7。
2、activate pytorch:激活名为 pytorch 的环境
1.2 确定硬件支持的 CUDA 版本
NVIDIA 控制面板 - 帮助 - 系统信息 - 组件
2020 年 5 月 19 日 16:46:31,我更新了显卡驱动,看到我的 cuda 支持 11 以内的
1.3 确定 pytorch 版本,torchvision 版本
进入 pytorch 官网:https://pytorch.org/get-started/locally/
因为官方源太慢了,这里使用清华源下载
1.4 镜像中下载对应的安装包
清华镜像:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
pytorch:
torchvision:
1.5 本地安装
接着第一步,在 pytorch 环境下进行安装,依次输入如下指令。
然后回到虚拟环境所在目录,用 conda install anaconda 安装环境所需的基础包
1.6 测试
代码 1:
1 | from future import print_function |
输出类似于以下的张量:
代码 2:
1 | import torch |
输出:True
如果以上两段代码输出无异常,表明环境搭建成功。
1.7 遇到的问题
- 用下面命令创建虚拟环境报错
1 | conda create -n py37_torch131 python=3.7 |
【解决方法】https://blog.csdn.net/weixin_42329133/article/details/102640763
环境会保存在 Anaconda 目录下的 envs 文件夹内
- PackagesNotFoundError: The following packages are not available from current channels
【解决方法】:
https://www.cnblogs.com/hellojiaojiao/p/10790273.html
- conda 下载太慢问题
【解决方案】https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
我直呼一声清华 NB!
- cuda 安装
cuda 历史版本下载:https://developer.nvidia.com/cuda-toolkit-archive
要看 NVIDIA 的组件,自己的 CUDA 支持哪个版本,我是 1060 显卡,所以我下的 10.0 版本的 cuda
- pytorch 安装
官网没有我的组合,我满脸问号
这里我直接(别忘了先进入刚创建的环境)
1 | conda install pytorch torchvision cudatoolkit=10.0 -c pytorch |
- jupyter note 如何进入虚拟环境
python -m ipykernel install --name 虚拟环境名
1. 打开 Anaconda Prompt, 输入 conda env list 查看现有环境
2. 输入 activate name(name 是你想切换的环境)
3.conda install ipykernel 安装必要插件
4.python -m ipykernel install --name Name 将环境添加到 Jyputer 中(Name 是此环境显示在 Jyputer 中的名称,可自定义)
删除内核
jupyter kernelspec remove 内核名称
报错 [Errono 13]
[Errno 13] Permission denied: ‘/usr/local/share/jupyter’
为此,需要添加–user 选项,将配置文件生成在本账户的家目录下。
1 | python -m ipykernel install --user --name py27-caffe-notebook |
至此,添加 kernel 完成。查看已有的 kernel:
1 | jupyter kernelspec list |
删除已有的 kernel
1 | jupyter kernelspec remove kernelname |
以上的命令删除仅仅是配置文件,并没有卸载相应虚拟环境的 ipykernel,因此若要再次安装相应 python 虚拟环境的 kernel,只需激活虚拟环境,然后
1 | python -m ipykernel install --name kernelname |
- conda 安装一半总失败
把文件下载到本地,进入该文件的目录,然后用命令
1 | conda install --offline 包名 |
二、Mac 深度学习环境配置
安装组合:Anaconda+PyTorch (GPU 版)
开源贡献:马曾欧,伦敦大学
2.1 安装 Anaconda
Anaconda 的安装有两种方式,这里仅介绍一种最直观的 - macOS graphical install。
https://www.anaconda.com/products/individual 里,Anaconda Installers 的位置,选择 Python 3.7 下方的 “64-Bit Graphical Installer (442)”。下载好
pkg 安装包后点击进入,按下一步完成安装即可。默认安装地点为~/opt。想用 command line install 的,请自行参考:https://docs.anaconda.com/anaconda/install/mac-os/
2.2 确认下载情况
在 Mac 的 Terminal 里,输入
1 | python --version |
确保安装的 Python 是 3.x 版本。在 Terminal 输入
1 | jupyter notebook |
弹出网页,即可进入 notebook。
在网页右上角点击 Quit,或返回 Terminal,command + c,退出 notebook。
2.2.1 常见问题
如果电脑中下载了多个 Anaconda,运行时可能出现冲突。在 Terminal 中输入
1 | cd ~ |
返回 home 目录,输入
1 | cat .bash_profile |
如果只能看到一个 Anaconda 版本就没有问题。如果有多个则下载包时有可能
造成一定的冲突。用 vim、nano 或其他文本编辑器把旧版本 Anaconda 的
1 | export PATH= ... |
删除。
2.3 虚拟环境和包的下载
用 conda 去创建虚拟环境和下载对应的包是很简单的一件事。
2.3.1 Graphic
点击 Anaconda-Navigator,可以看到自己下载好的应用程序,左上角 “Applications on” 应该指向的是 “base (root)”,左边点击 “Environments” 就可以看到自己建立的虚拟环境和对应的包了。点击左下角的 Create 即可创建一个新的虚拟环境。
输入环境名称和 python 的版本,点击 create 进行创建。
之后在 Home 页面,确保左上角指向的是你刚刚创建的环境名,在这个环境下 install jupyter notebook,注意原本装的 notebook 是在 base 里的,不可通用。
回到 Environments 中,可以看到在此环境中的所有包,左上方选择 All,然后输入想要下载的包名
然后选中进行下载
2.3.2 Command Line
用 command line 完成以上的操作也很简洁。这次以 Pytorch 为例。在 Terminal 中输入
1 | conda create --name env_name |
就可以创建一个虚拟环境,叫 “env_name”。输入
1 | conda env list |
即可看到创建了的所有虚拟环境,其中打 * 的就是当前环境。输入
1 | conda activate env_name |
进入环境
1 | conda deactivate |
退出当前虚拟环境,进入 base。
2.3.3 下载 Pytorch
一般情况下 Mac 是不支持 CUDA 的。进入 https://pytorch.org/ 可以看到
pytorch 官网显示当前设备应该用的下载语句。此情况,我的是
1 | conda install pytorch torchvision -c pytorch |
复制下来,粘贴到 Terminal 中运行就可以开始下载了。
下载完成后,在 Terminal 输入
1 | python3 |
之后 import 两个刚下载的包,确认下载完成
1 | import torch |
如果 import 和输出正常,配置就完成了!输入
1 | quit() |
就 ok 了。
2.4 额外情况
国内如果直接用 conda 下载,可能会很慢。可以换下载源进行加速。换源方法可参考下列资料中的 Linux 部分:https://zhuanlan.zhihu.com/p/87123943。
conda 下载中常会出现 “Solving environment: failed…” 的问题,如果正常创建虚拟环境,这位问题应该就是没有问题的,如果还发生,可以再创建一个虚拟环境。
conda 的社群很大,基本上遇到的问题很有可能有人遇到、有人解答,Google 会是一个很好的解决办法。
三、Ubuntu 深度学习环境配置
安装组合:Anaconda+PyTorch (CPU 版) 或 PyTorch (GPU 版)
开源贡献:陈信达,华北电力大学
3.1 Anacond 安装
Anaconda 和 Python 版本是对应的,所以需要选择安装对应 Python2.7 版本的还是 Python3.7 版本或其他版本的,根据自己的需要下载合适的安装包。
下载链接:https://www.anaconda.com/download/#linux
点击下面的 64-Bit (x86) Installer (522 MB),下载 64 位的版本。
下载完后的文件名是:Anaconda3-2020.02-Linux-x86_64.sh。
cd 到 Anaconda3-2020.02-Linux-x86_64.sh 所在的目录:
执行 bash Anaconda3-2020.02-Linux-x86_64.sh 开始安装:
一直按回车直到如下界面,然后输入 yes:
这里直接回车安装到默认路径,或者在 >>> 后输入自定义路径
等待安装进度条走完,然后出现下面的提示,yes 是加入环境变量,no 是不加入环境变量,这里我们以输入 no 为例
接下来手动加入环境变量,先 cd 到~,然后编辑.bashrc 文件:sudo vim .bashrc
在最下面添加如下几行 (注意。后有空格):
1 | # 区分anaconda python与系统内置python |
然后按 esc + : + wq! 保存
输入 source .bashrc 来执行刚修改的初始化文档
下面输入 conda env list 来试试环境变量是否设置成功:
试试刚刚设置的使用内置 python 的命令:python2、python3
如果到这就结束的话,大家安装包的时候肯定会无比煎熬~这里需要将 anaconda 换一下源(加入清华源):
然后我们创建一个名为 pytorch 的虚拟环境,发现报了下面的错误:
原因是我们没有清除上次安装留下来的源,输入 sudo vim .condarc,修改该文件的内容(记得删除 default 那行):
然后输入 source .condarc,再次创建虚拟环境:
3.2 pytorch cpu 版本安装
打开 pytorch 官网:https://pytorch.org/
激活刚刚创建的虚拟环境:conda activate pytorch 在安装之前先添加下面这个源:
1 | conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch |
然后输入下面代码:
1 | conda install pytorch torchvision cpuonly -c pytorch |
等到安装好后测试一下是否安装完成:
1 | import torch |
输出如下则安装成功:
3.3 pytorch-gpu 安装
3.3.1 GPU 驱动安装
- 检测显卡类型
执行命令:’ ubuntu-drivers devices’
1 | == /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == |
大家可以看到,这里有个设备是 GTX1050。推荐安装驱动是 440。
- 安装驱动
安装所有推荐驱动
1 | sudo ubuntu-drivers autoinstall |
安装一个驱动
1 | sudo apt install nvidia-440 |
3.3.2 安装 cuda
cuda 安装需要对应合适的显卡驱动。下面是驱动和 cuda 的版本对应关系
1 | Table 1. CUDA Toolkit and Compatible Driver Versions |
cuda 下载链接:http://suo.im/6dY8rL
Installer Type 选择第一第二个都可。但是要在获得 cuda 文件后先检测 gcc 版本。下面以第一个 runfile (local) 安装方式为例。
- 安装 gcc
linux 一般会自带了 gcc,我们先检测一下自己系统的 gcc 版本
1 | gcc --version |
而 cuda 的 gcc 依赖版本在官方文档的安装指南上会给出
如果版本和 cuda 依赖 gcc 不对应,就安装 cuda 需要的版本
1 | sudo apt-get install gcc-7.0 |
安装完成后需要更换系统 gcc 版本
1 | sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50 |
选择需要的版本
1 | sudo update-alternatives --config gcc |
输入前面显示的编号即可。
- 安装 cuda
1 | sudo sh cuda_你的版本_linux.run |
- 配置环境变量
1 | sudo vim ~/.bashrc |
将下面的命令复制进去
1 | export PATH=/usr/local/cuda-10.2/bin${PATH:+:$PATH}} |
检查是否安装成功
1 | nvcc -V |
3.3.3 安装 cudnn
https://developer.nvidia.com/cudnn 选择对应 cuda 的版本即可
然后将 cudnn 解压后的 include 和 lib64 文件夹复制到 cuda 中
1 | sudo cp cuda/include/cudnn.h /usr/local/cuda-10.2/include #解压后的文件夹名字为cuda-10.2 |
3.3.4 安装 pytorch-gpu
conda 安装:
1 | # 选择自己对应的cuda版本 |
pip 安装:
1 | pip install torch torchvision -i |
四、写在最后
所有的深度学习环境安装指南到这里就结束了,希望能解决你面临的环境配置难题。关于实践项目,可以结合阿里天池的学习赛进行动手实践。
数据挖掘学习赛(进行中,5832 人参与)
https://tianchi.aliyun.com/competition/entrance/231784/forum
cv 实践学习赛(进行中,1933 参与)
https://tianchi.aliyun.com/competition/entrance/531795/forum
nlp 实践学习赛(进行中,573 人参与)
https://tianchi.aliyun.com/competition/entrance/531810/forum