一维张量

2025年3月17日 | 阅读 3 分钟

众所周知,PyTorch 因其方便定义神经网络的能力而被 深度学习 世界所接受。 神经网络从根本上是围绕传感器构建的,PyTorch 也是围绕传感器构建的。 性能往往会显着提高。 粗略地说,张量是矩阵的泛化。

One Dimensional Tensors

一维张量类似于一维矩阵。 在一维张量中,只有一行和一列,称为向量。 还有一个零维张量,称为标量。

现在我们将讨论对张量执行的操作。

我们也可以使用 Google Colab 来编写 Tensor 的代码。 访问 Google Colab 非常简单。 对于 Google Colab,无需设置。 它完全在云端运行。

One Dimensional Tensors

Google Colab 类似于 Jupyter Notebook。 使用 Google Colab 时,我们预先安装了许多软件包。 不幸的是,torch 并不是其中之一,所以我们首先必须使用 !pip3 install torch 命令安装 torch。

现在,我们将对一维张量执行操作。

创建一维张量

为了创建一个一维张量,我们使用 torch 库的张量属性。 要创建张量,我们使用 torch.tensor() 方法。

创建一维张量的语法如下

这里,n 是张量类型的变量,张量元素可以是任何整数或浮点数,后跟 (, )。

示例

输出

tensor([1, 2, 3, 4])

One Dimensional Tensors

检查张量中元素的类型

我们可以检查包含在张量中的元素的类型。 我们使用 Tensor 的 dtype() 来查找数据类型。

示例

输出

torch.float32

One Dimensional Tensors

访问张量的元素

我们可以借助该元素的索引来访问张量的元素。 如果我们要打印张量的所有元素,那么我们可以打印张量变量。 就像一维指标索引一样,张量索引也从 0 开始。

示例

输出

tensor(3.)

One Dimensional Tensors

访问具有指定范围的张量元素

通过传递用冒号 (:) 分隔的元素的起始索引或结束索引,可以很容易地访问指定范围的元素。 它将跳过起始索引元素并打印到结束索引的元素。

示例

输出

tensor (2.0,3.0)

One Dimensional Tensors

我们有另一个示例,它通过跳过我们初始化的起始索引来打印所有元素。

示例

输出

tensor (2.0,3.0)

One Dimensional Tensors

使用整数元素创建浮点张量

我们可以使用整数元素创建一个浮点张量。 在这里,使用了 torch 的 FloatTensor 属性。

示例

输出

tensor([1., 2., 3., 4., 5., 6., 7.])

One Dimensional Tensors

查找张量的大小

就像一维指标一样,我们也可以找到张量的大小。 我们使用张量的 size() 方法来获取大小。

示例

输出

torch.Size([7])

One Dimensional Tensors

更改张量的视图

张量具有我们可以更改张量视图的属性。 更改视图是指如果一个张量是一维的(一行一列),我们想通过六行一列来更改其视图。更改可以通过张量的 view() 来完成。 它类似于数组的 reshape ()。

示例

输出

tensor ([1., 2., 3., 4., 5., 6.])
tensor([[1.],
        [2.],
        [3.],
        [4.],
        [5.],
        [6.]])

注意:我们也可以使用其他维度,例如 (3, 2),但它应该与我们的原始张量元素兼容。

One Dimensional Tensors

使用 numpy 数组的张量

我们也可以使用 numpy 数组创建张量。 我们必须借助 torch 的 from_numpy () 将 numpy 数组转换为张量。 为此,我们首先必须初始化 numpy,然后创建一个 numpy 数组。

示例

输出

tensor([1, 2, 3, 4, 5, 6])
torch.LongTensor

One Dimensional Tensors
下一个主题向量运算