张量

张量是一种特殊的数据结构,与数组和矩阵非常相似。在 PyTorch 中,我们使用张量对模型的输入和输出以及模型的参数进行编码。

张量可以在 GPU 或其他硬件加速器上运行

初始化张量

张量可以直接从数据中创建。数据类型是自动推断的。

import torch
import numpy as np

# 方式一 直接从数据创建
data = [[1, 2],[3, 4]]
x_data = torch.tensor(data)

# 方式二 从numpy数组
np_array = np.array(data)
x_np = torch.from_numpy(np_array)

# 方式三 从另一个张量
x_ones = torch.ones_like(x_data) # 保留数据
print(f"Ones Tensor: \n {x_ones} \n")

x_rand = torch.rand_like(x_data, dtype=torch.float) # 覆盖数据
print(f"Random Tensor: \n {x_rand} \n")

# 方式四 使用随机值或常量值
# shape是张量维度的元组,决定了输出张量的维度
shape = (2,3,)
rand_tensor = torch.rand(shape)
ones_tensor = torch.ones(shape)
zeros_tensor = torch.zeros(shape)

print(f"Random Tensor: \n {rand_tensor} \n")
print(f"Ones Tensor: \n {ones_tensor} \n")
print(f"Zeros Tensor: \n {zeros_tensor}")

属性

运算

默认情况下,张量是在 CPU 上创建的。我们需要使用.to方法明确地将张量移动到 GPU

连接

torch .cat用来连接沿给定维度的一系列张量

向量

既有大小,又有方向的物理量

分量

基向量

最后更新于