PyTorch 张量
Pytorch 用于处理张量,张量是多维数组,例如 n 维 NumPy 数组。但是张量也可以在 GPU 中使用,但在 NumPy 数组的情况下却不可以使用。PyTorch 加速了张量的科学计算,因为它具有各种内置功能。
向量是一维张量,矩阵是二维张量。在 C、C++ 和 Java 中使用的张量和多维数组之间的一个显着区别是张量在所有维度上应该具有相同的列大小。此外,张量只能包含数字数据类型。
张量的两个基本属性是:
shape:指数组或矩阵的维数
Rank:指张量中存在的维数
# 导入 torch
import torch
# 创建张量
t1=torch.tensor([1, 2, 3, 4])
t2=torch.tensor([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 打印张量:
print("Tensor t1: \n", t1)
print("\nTensor t2: \n", t2)
# 张量的秩
print("\nRank of t1: ", len(t1.shape))
print("Rank of t2: ", len(t2.shape))
# 张量的形状
print("\nRank of t1: ", t1.shape)
print("Rank of t2: ", t2.shape)
在 PyTorch 中创建张量
在 PyTorch 中有多种创建张量的方法。张量可以包含单一数据类型的元素。我们可以使用 python 列表或 NumPy 数组创建张量。Torch 有 10 种用于 GPU 和 CPU 的张量变体。以下是定义张量的不同方法。
- torch.Tensor() :它复制数据并创建其张量。它是 torch.FloatTensor 的别名。
- torch.tensor() :它还复制数据以创建张量;但是,它会自动推断数据类型。
- torch.as_tensor() :在这种情况下,数据是共享的,在创建数据时不会被复制&#