PyTorch简介
1.1.1 PyTorch的介绍
PyTorch是由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,而随着Caffe2项目并入Pytorch, Pytorch开始影响到TensorFlow在深度学习应用框架领域的地位。总的来说,PyTorch是当前难得的简洁优雅且高效快速的框架。因此本课程我们选择了PyTorch来进行开源学习。
1.1.2 PyTorch的发展
“All in Pytorch”,对于PyTorch的发展我们只能用一句话来概况了,PyTorch自从提出就获得巨大的关注以及用户数量的剧增,而最直观的莫过于下面统计图所表现的的简明直了。
下图来自Paper with code网站,颜色面积代表使用该框架的论文公开代码库的数量,我们可以发现截至2021年6月,PyTorch的代码实现已经是TensorFlow实现的4倍,我们也可以看红色部分的PyTorch正在取代他的老大哥称霸学术圈,PyTorch会借助ONNX所带来的落地能力在工业界逐渐走向主导地位。
总的来说,我们必须承认到现在为止PyTorch还是有不如别的框架的地方,但是框架只是给我们提供了*,让我们造汽车更加方便,最重要的还是我们个人的科学素养的提升。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RcC9TIA9-1633924685722)(figures/主流框架对比.png)]
1.1.3 PyTorch的优势
PyTorch有着下面的优势:
- 更加简洁,相比于其他的框架,PyTorch的框架更加简洁,易于理解。PyTorch的设计追求最少的封装,避免重复造*。
- 上手快,掌握numpy和基本的深度学习知识就可以上手。
- PyTorch有着良好的文档和社区支持,作者亲自维护的论坛供用户交流和求教问题。Facebook 人工智能研究院对PyTorch提供了强力支持,作为当今排名前三的深度学习研究机构,FAIR的支持足以确保PyTorch获得持续的开发更新。
- 项目开源,在Github上有越来越多的开源代码是使用PyTorch进行开发。
- 可以更好的调试代码,PyTorch可以让我们逐行执行我们的脚本。这就像调试NumPy一样 – 我们可以轻松访问代码中的所有对象,并且可以使用打印语句(或其他标准的Python调试)来查看方法失败的位置。
- 越来越完善的扩展库,活力旺盛,正处在当打之年。
PyTorch的安装
PyTorch的安装,一般常见的是Anaconda/miniconda+Pytorch+ (Pycharm) 的工具,我们的安装分为以下几步
- Anaconda的安装
- 检查有无NVIDIA GPU
- PyTorch的安装
- Pycharm的安装 ( Windows系统上更为常用)
1.2.1 Anaconda的安装
在DL和ML中,要用到大量成熟的package。一个个安装 package 很麻烦,而且容易出现奇奇怪怪的问题。而 Anaconda很好的解决了我们的问题,它集成了常用于科学分析(机器学习, 深度学习)的大量package。省略了我们安装一些package的过程。
Step 1:登陆Anaconda | Individual Edition,选择相应系统DownLoad,此处以Linux为例:
Step 2:安装命令
sh Anaconda3-2021.05-Linux-aarch64.sh #aarch64为架构版本,根据实际下载的文件名决定
Step 3:创建虚拟环境
- 查看已经安装好的虚拟环境,可以看到我们这里已经有两个环境存在了
conda env list
-
创建虚拟环境test,要记住我们创建环境的地址哦!
conda create -n 虚拟环境名称 python=版本名称
tips:在选择Python版本时,不要选择太高,建议选择3.6-3.8,版本过高会导致相关库不适配。
- 删除虚拟环境命令
conda remove -n 名称 -all
- 激活环境命令
conda activate 名称
Step 4:Anaconda换源
在安装package时,我们经常会使用pip install …和conda install … 的命令,但是一些package下载速度会很慢,因此我们需要进行换源,换成国内源,加快我们的下载速度。以下便是两种对应方式的换源
- pip换源
Linux:
在用户目录下新建文件夹**.pip**:mkdir ~/.pip
在文件夹内新建文件pip.conf, vim ~/.pip/pip.conf
并添加下方的内容
Windows:
1、文件管理器文件路径地址栏敲:%APPDATA%
回车,快速进入 C:\Users\电脑用户\AppData\Roaming
文件夹中
2、新建 pip 文件夹并在文件夹中新建 pip.ini
配置文件
3、我们需要在pip.ini 配置文件内容,你可以选择使用记事本打开,输入以下内容,输入完后记得按下ctrl+s保存哦,在这里我们使用的是豆瓣源
[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
- conda换源(换成清华源)官方换源帮助
Windows系统:
TUNA 提供了 Anaconda 仓库与第三方源的镜像,各系统都可以通过修改用户目录下的 .condarc
文件。Windows 用户无法直接创建名为 .condarc
的文件,可先执行conda config --set show_channel_urls yes
生成该文件之后再修改。
完成这一步后,我们需要在**C:\Users\电脑用户\找到 .condarc
**这个文件,打开后将文件里原始内容删除,将下面的内容复制进去,并且保存
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
这一步完成后,我们需要打开Anaconda Prompt
运行 conda clean -i
清除索引缓存,保证用的是镜像站提供的索引。
Linux系统(操作均在终端就行):
Ctrl
+Alt
+t
打开终端 输入以下命令
cd ~
进入用户中心
vim .condarc
修改.condarc
文件
输入i
进入编辑模式,将上方内容粘贴进去,按ESC
退出编辑模式,输入:wq
保存并退出
检查下是否换源成功,好嘞,这样就换源成功了
不要忘记conda clean -i
清除索引缓存,保证用的是镜像站提供的索引
1.2.2 查看自己的显卡(CPU或者集显的小伙伴们可以跳过该部分)
- 对于windows系统:
在cmd/terminal中
输入nvidia-smi
(Linux和Win命令一样)、使用NVIDIA控制面板或者使用任务管理器查看自己是否有NVIDIA的独立显卡及其型号
- 对于linux系统:
-
看下版本号,看自己可以兼容的CUDA版本,等会安装Pytorch时是可以向下兼容的
1.2.3 安装Pytorch
Step 1:登录官网Pytorch官网
Step 2:点击Install按钮,进入相关界面
这个界面我们可以选择本地开始(Start Locally),云开发(Cloud Partners),以前的Pytorch版本(Previous Pytorch Versions),移动端开发(Mobile),在此处我们需要进行本地安装。
Step 3:结合自己情况选择命令并复制下来,然后使用conda下载或者pip下载(建议conda安装!)
打开``Terminal,输入
conda activate xxx`,激活环境并切换到环境下面,我们就可以进行Pytorch的安装了。
注意事项
-
Stable代表的是稳定版本,Preview代表的是先行版本
-
可以结合电脑是否有显卡,选择CPU版本还是CUDA版本,建议还是需要NVIDIA GPU
-
官方建议我们使用Anaconda来进行管理
-
关于安装的系统要求
-
Windows:
- Windows 7及更高版本;建议使用Windows 10或者更高的版本
- Windows Server 2008 r2 及更高版本
-
Linux:以常见的CentOS和Ubuntu为例
- CentOS, 最低版本7.3-1611
- Ubuntu, 最低版本 13.04,这里会导致cuda安装的最大版本不同
-
macOS:
- macOS 10.10及其以上
-
Windows:
-
有些电脑所支持的cuda版本<10.2,此时我们需要进行手动降级,即就是cudatoolkit = 你所适合的版本,但是这里需要注意下一定要保持Pytorch和cudatoolkit的版本适配。查看Previous PyTorch Versions | PyTorch
Step 4:在线下载
如果你是在Anaconda Prompt
进行下载的话,先输入conda activate test
,激活到我们的虚拟环境中去,再输入命令
如果是在Pycharm
的Terminal
中下载的话,我们还是要先切换到我们的虚拟环境中去,再输入下载命令
Tips:要把下载指令后面的 -c pytorch 去掉不然还是默认下载源头(去掉后使用的是清华源)不删除会报HTTP error错误
激活环境
conda activate 环境名称
接下来输入以下命令安装两个包
conda install --offline pytorch压缩包的全称(后缀都不能忘记)
conda install --offline torchvision压缩包的全称(后缀都不能忘记)
Step 6:检验是否安装成功
进入所在的虚拟环境,输入
import torch
torch.cuda.is_available()
这条命令意思是检验是否可以调用cuda,如果安装的是CPU的小伙伴们会返回False,GPU的小伙伴会返回true。一般这个命令不报错的话就证明安装成功。