一、PyTorch张量概述
PyTorch 是一个开源的机器学习库,张量(Tensor)是 PyTorch 中最基本的数据结构。张量可以看作是多维数组,它类似于 NumPy 中的 ndarray。张量可以存储数据,并且能够利用 GPU 加速计算,这是 PyTorch 在深度学习中非常重要的特性。
-
数据类型:张量可以存储多种数据类型,如浮点数(float32、float64 等)、整数(int32、int64 等)等。例如,
torch.FloatTensor
表示存储浮点数的张量。 -
维度:张量的维度可以是任意的。一个标量(单个数值)可以看作是 0 维张量,一维张量类似于向量,二维张量类似于矩阵,而更高维度的张量可以用于表示更复杂的数据结构,比如图像数据(通常是一个 4 维张量,包括批次大小、通道数、高度和宽度)。
二、创建张量
(一)直接从数据创建
Python复制
import torch
# 创建一个一维张量
tensor_1d = torch.tensor([1, 2, 3])
print(tensor_1d)
# 创建一个二维张量
tensor_2d = torch.tensor([[1, 2], [3, 4]])
print(tensor_2d)
这种方式可以直接从 Python 列表等数据结构创建张量。PyTorch 会根据提供的数据推断出张量的数据类型和形状。
(二)使用特定函数创建
-
全零张量
zeros_tensor = torch.zeros(2, 3) # 创建一个 2×3 的全零张量 print(zeros_tensor)
-
全一张量
ones_tensor = tor