PyTorch——一款好用的深度学习框架
120分钟讲解如何从0行代码开始搭建一个Pytorch图像识别模型
PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。PyTorch既可以看作加入了GPU支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络。除了Facebook外,它已经被Twitter、CMU和Salesforce等机构采用 [1] 。 外文名PyTorch提出时间2017年1月研发机构Facebook人工智能研究院
发展历史 PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是由Torch7团队开发,是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络。 2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。 2022年9月,扎克伯格亲自宣布,PyTorch 基金会已新鲜成立,并归入 Linux 基金会旗下。 [5] 运行环境 已兼容Windows(CUDA,CPU)、MacOS(CPU)、Linux(CUDA,ROCm,CPU) 优点 PyTorch是相当简洁且高效快速的框架 设计追求最少的封装 设计符合人类思维,它让用户尽可能地专注于实现自己的想法 与google的Tensorflow类似,FAIR的支持足以确保PyTorch获得持续的开发更新 PyTorch作者亲自维护的论坛 供用户交流和求教问题 入门简单 [2] 基础环境 一台PC设备、一张高性能NVIDIA显卡(可选)、Ubuntu系统。 环境搭建 安装Pytorch PyTorch的安装十分简单,根据PyTorch官网,对系统选择和安装方式等灵活选择即可。这里以anaconda为例。 Pytorch的安装经过了几次变化,请大家以官网的安装命令为准。另外需要说明的就是在1.2版本以后,Pytorch只支持cuda 9.2以上了,所以需要对cuda进行升级,部分显卡都可以用,包括笔记本的MX250也是可以顺利升级到cuda 10.1。此处使用Conda包管理器。 注意:如果使用镜像站,请删除“-c pytorch”;安装CUDA(即GPU)版本时注意安装CUDNN运行库
1
2
3
4
5
6 |
# 全部通用,ROCm仅支持Linux
conda install pytorch torchvision torchaudio cudatoolkit = 10.2 - c pytorch #CUDA 10.2
conda install pytorch torchvision torchaudio cudatoolkit = 11.3 - c pytorch #CUDA 11.3
conda install pytorch torchvision torchaudio cpuonly - c pytorch #CPU
pip3 install torch torchvision = = 0.11 . 2 - f https: / / download.pytorch.org / whl / rocm4. 2 / torch_stable.html
# ROCm 4.2 (仅Linux)
| 验证输入python 进入
1
2
3
4 |
import torch
print (torch.__version__) #Pytorch版本
print (torch.version.cuda) #CUDA版本
print (torch.backends.cudnn.version()) #CUDNN版本
| 配置Jupyter Notebook
1
2
3
4 |
#安装ipykernel
conda install ipykernel
#写入环境
python - m ipykernel install - - name pytorch - - display - name Pytorch for Deeplearning
| 下一步:定制 Jupyter Notebook
1
2
3
4
5 |
#切换回基础环境
activate base
#创建jupyter notebook配置文件
jupyter notebook - - generate - config
## 这里会显示创建jupyter_notebook_config.py的具体位置
| 打开文件,修改
1
2 |
c.NotebookApp.notebook_dir = '' 默认目录位置
c.NotebookApp.iopub_data_rate_limit = 100000000 这个改大一些否则有可能报错
| 测试 至此,Pytorch 的开发环境安装完成,可以在开始菜单中打开Jupyter Notebook 在New 菜单中创建文件时选择Pytorch for Deeplearning 创建PyTorch的相关开发环境了 [3] 。 版本更新 继TensorFlow更新后,PyTorch也迎来了最新的 1.4 版。 本次更新的重点是增加了很多重要的新特性,包括给用户提供Build级别的移动端定制化支持、增加分布式模型并行训练、让Java程序能够运行TorchScript等。此外还有JIT、C++、分布式训练、Eager前端、PyTorch Mobile等方面的功能改进和Bug修复。 本次PyTorch 更新是最后一个支持Python2的版本,同时也是最后一个支持C++11的版本。官方提示说,用户应当开始迁移到Python3,并使用C++14开始编译工作 [4] 。
|