PyTorch是一个不断发展的深度学习框架,具有许多令人兴奋的附加功能。我们将回顾其基本元素,并逐步演示构建简单的深度神经网络(DNN)的示例。
PyTorch的基础知识-简介
自从年初推出它以来,PyTorch已经成为高度流行且广泛使用的深度学习(DL)框架。自从不起眼的开始以来,它就引起了全世界工业界和学术界的严肃AI研究人员和从业者的注意,并且这些年来已经显着成熟。
数十名DL发烧友和专业人士从百度开始了他们的旅程,但是基于TensorFlow的学习曲线一直很艰难。另一方面,PyTorch从一开始就以一种直观的方式进行DL编程,以一种易于理解且易于逐步学习的方式专注于基本线性代数和数据流运算。
由于采用了这种模块化方法,与遵循较为严格的TF和基于TF的工具框架相比,使用PyTorch进行复杂的DL架构的构建和试验变得容易得多。此外,PyTorch的构建是为了与Python生态系统的数值计算基础架构无缝集成,而Python是数据科学和机器学习的通用语言,它摆脱了这一日益流行的浪潮。
使用PyTorch进行Tensor操作
Tensors是任何DL框架的核心。PyTorch为程序员提供了极大的灵活性,使其可以在Tensors流经与相对高级的面向对象API配对的网络(称为计算图)时创建,组合和处理Tensors。
什么是Tensors?
通过称为Tensors的数据/数学结构来完成表示机器学习(ML)(尤其是DNN)的数据(例如,有关物理世界或某些业务流程的数据)。Tensors是一个可以容纳N维数据的容器。Tensors经常与另一个更熟悉的数学对象矩阵(具体来说是二维Tensors)互换使用。实际上,Tensors是二维矩阵到N维空间的推广。
用简单的术语来说,可以将标量矢量矩阵Tensors视为一种流。
1)标量是0维Tensors。
2)向量是一维Tensors。
3)矩阵是二维Tensors
4)Tensors是广义的N维Tensors。N可以是3到无穷大的任何数字。
通常,这些尺寸也称为等级。
为什么Tensors对于ML和DL很重要?
考虑一个监督的机器学习问题。您会得到带有某些标签的数据表(可以是数字实体或二进制分类,例如“是/否”答案)。大数据分析PyTorchx深度学习框架教程