PyTorch框架简介
PyTorch框架简介
- 深度学习框架是什么?
- 深度学习框架有哪些应用优势?
- 主流深度学习框架对比
- 深度学习框架有哪些组件?
- Pytorch的发展历程
- 为什么选择Pytorch
- 如何学习PyTorch
深度学习框架是什么?
深度学习框架是什么?
- 深度学习框架如Tensorflow、Pytorch等,是深度学习的工具,简单来说就是库。
- 无需深入了解底层算法的细节,容易、快速构建深度学习模型。
- 利用预先构建的组件集合定义模型
- 木料切割——硬件环境层面的开发、各类函数的编写。
- 一套积木——深度学习框架。

深度学习框架是什么?
- 图像分类任务:将图像归到相应的类别中。
- 卷积神经网络:对于图像分类任务十分有效,但从头编写耗时太久。

深度学习框架有哪些应用优势?
深度学习框架有哪些应用优势?
- 一个良好的深度学习框架具备以下关键特征:
- 优化的性能
- 易于理解和编码
- 良好的社区支持
- 并行化的进程,以减少计算
- 自动计算梯度
深度学习框架有哪些应用优势?
- 降低了深度学习的门槛,无需从复杂的神经网络开始编代码,使用已有的模型,通过训练参数,调整模型,选择分类器和优化器来构建模型。
- 不同的框架适用的领域不完全一致,没有一套完美的框架。
主流深度学习框架对比
主流深度学习框架对比

深度学习框架有哪些组件
深度学习框架有哪些组件
- 大部分深度学习框架都包含以下五个核心组件:
- 张量(Tensor)
- 基于张量的各种操作
- 计算图(Computation Graph)
- 自动微分(Automatic Differentiation)工具
- BLAS、cuBLAS、cuDNN等拓展包
深度学习框架有哪些组件——张量
- 张量是所有深度学习框架中最核心的组件
- 各种各样的数据抽象成张量表示,然后再输入神经网络模型
- 数据处理完成后,将张量再转换回想要的格式

深度学习框架有哪些组件——基于张量的操作
- 基于张量的操作——针对张量对象的数学运算和处理过程。
- 整个神经网络视为为了某种目的,针对输入张量进行的一系列操作(包含简单的矩阵乘法、卷积、池化和LSTM等稍复杂的运算)。
- “学习”就是不断纠正神经网络的实际输出结果和预期结果之间误差。
- 需要指出的是,大部分的张量操作都是基于类实现的,而并不是函数。
- 总体上让整个框架更灵活和易于扩展。
深度学习框架有哪些组件——计算图
- 计算图——将各种操作整合起来,输出我们需要的结果。
- 各操作的管理问题——多个操作之间应该并行还是顺次执行,如何协同各种不同的底层设备,以及如何避免各种类型的冗余操作等等。

深度学习框架有哪些组件——自动微分
- 自动微分——让模型训练阶段的梯度计算变得模块化且更为便捷
- 实现了自动微分的模块一般都可以直接加入任意的操作类中
深度学习框架有哪些组件——拓展包
- 由于低级语言的最优化编程难度很高,而且大部分的基础操作其实也都有公开的最优解决方案,因此另一个显著的加速手段就是利用现成的扩展包。
- 例如最初用Fortran实现的BLAS(基础线性代数子程序),就是一个非常优秀的基本矩阵(张量)运算库,此外还有英特尔的MKL(Math Kernel Library)等,开发者可以根据个人喜好灵活选择。
Pytorch的发展历程
Pytorch的发展历程
- PyTorch的前身是Torch机器学习框架
- 2016年,Facebook在Torch7的基础上重新开发了一个深度学习框架——PyTorch 0.1。
- 2018年12月,发布PyTorch 1.0正式版,它使用CAFFE2作为后端。
- 目前,最新的Pytorch版本为1.11,版本1.12正在测试中。

为什么选择Pytorch——框架优势
为什么选择Pytorch——对比Tensorflow
- pytorch主要是针对深度神经网络而开发;tensorflow它的优点是分布式计算,在面临较大数据时相对效率较高。
- pytorch是动态框架,tensorflow是静态框架。
- pytorch对python十分友好,更加python化的框架,而tensorflow的话更加像独立的语言和框架。

为什么选择Pytorch——完备的Pytorch生态
- 对于计算机视觉,PyTorch有TorchVision这样应用广泛的库;
- 对于自然语言处理,PyTorch有PyTorch NLP,AllenNLP这样的库;
- 对于图卷积这类新型图网络,有PyTorch Geometric这样的库;
- 对于上层API,基于PyTorch的Fastai框架相当简洁;
- 对于工业部署,ONN协议保证模型的部署。
如何学习PyTorch
- PyTorch 官方文档:https://pytorch.org/
- github:https://github.com/
- 网上相关教程视频