深度学习中PyTorch张量的重塑操作
张量操作类型
在我们深入具体的张量操作之前,让我们先快速浏览一下主要的操作类别,这些类别包括我们将要介绍的操作。我们有以下高级类别的操作:
- 重塑操作
- 元素级操作
- 归约操作
- 访问操作
有很多单独的操作,有时候当你刚开始时可能会感到有些吓人,但是将类似的操作根据它们的相似性分组,可以帮助我们更容易地学习张量操作。
展示这些类别的目的是让你在本系列的这一部分结束时,理解所有这四种操作。
这些关于张量操作的文章的目标不仅是展示常用的特定张量操作,而且还要描述操作的整体情况。了解存在的操作类型比仅仅了解或记忆单个操作能让我们更长久地保持知识。
请记住这一点,在我们探索每个类别时,努力理解这些类别。现在让我们开始重塑操作。
张量的重塑操作
_重塑操作_可能是最重要的张量操作类型。这是因为,正如我们在介绍张量的文章中提到的,张量的形状给我们提供了一些具体的东西,可以用来为我们的张量形成直观的感觉。
张量的类比
假设我们是神经网络程序员,因此我们通常花时间构建神经网络。为了完成我们的工作,我们使用各种工具。
我们使用数学工具,如微积分和线性代数,计算机科学工具,如Python和PyTorch,物理和工程工具,如CPU和GPU,以及机器学习工具,如神经网络、层、激活函数等。
我们的任务是构建能够转换或映射输入数据到我们寻求的正确输出的神经网络。
我们用来生产产品的主要原料,一个将输入映射到正确输出的函数,是数据。
数据是一个相当抽象的概念,所以当我们想要实际使用数据的概念来实现某事时,我们使用一个可以高效实现在代码中的特定数据结构,称为张量。张量具有数学和其他属性,允许我们完成工作。
张量是神经网络程序员用来生产产品的主要原料,即智能。
这与面包师使用面团生产,比如说,比萨非常相似。面团是用来创建输出的输入,但在生产比萨之前,通常需要对输入进行某种形式的重塑。
作为神经网络