张量是 PyTorch 中的基本数据结构,类似于 NumPy 中的数组。它们是支持自动微分和 GPU 加速的灵活多维数组。
张量的创建
在 PyTorch 中,你可以使用多种方式来创建张量:
- 使用 Python 列表或 NumPy 数组
- 使用 PyTorch 的
torch.tensor()
函数 - 使用 PyTorch 的
torch.zeros()
,torch.ones()
,torch.randn()
等函数
使用 Python 列表或 NumPy 数组
import torch
# 使用 Python 列表
tensor_from_list = torch.tensor([1, 2, 3])
# 使用 NumPy 数组
tensor_from_numpy = torch.from_numpy(np.array([4, 5, 6]))
使用 PyTorch 函数
# 创建一个全为 0 的张量
zeros_tensor = torch.zeros((2, 3))
# 创建一个全为 1 的张量
ones_tensor = torch.ones((2, 3))
# 创建一个正态分布的张量
randn_tensor = torch.randn((2, 3))
张量的操作
张量支持许多数学运算,例如加法、减法、乘法和除法。
# 张量加法
addition = tensor_from_list + tensor_from_numpy
# 张量乘法
multiplication = tensor_from_list * tensor_from_numpy
图像
张量在图像处理中非常重要。以下是一个使用 PyTorch 创建和操作图像张量的示例。
总结
张量是 PyTorch 中的核心概念,理解张量的创建和操作对于进行深度学习任务至关重要。