PyTorch中的张量(Tensor)是基本的数据结构,用于存储和操作多维数组。以下是一些常见的PyTorch张量操作:
- 创建张量:
- 使用
torch.Tensor()
创建一个未初始化的张量。 - 使用
torch.tensor(data)
根据给定数据创建张量。 - 使用
torch.zeros(shape)
创建一个全零张量。 - 使用
torch.ones(shape)
创建一个全一张量。 - 使用
torch.rand(shape)
创建一个在[0, 1)范围内均匀分布的随机张量。
- 张量操作:
- 改变形状:使用
tensor.view(shape)
改变张量的形状。 - 转置:使用
tensor.transpose(dim0, dim1)
交换指定维度的位置。 - 切片:使用
tensor[start:end]
进行切片操作。 - 运算:支持基本的数学运算(加法、减法、乘法、除法等)和逐元素运算(平方、开方、指数等)。
- 张量索引:
- 使用整数索引:使用
tensor[index]
根据索引获取张量中的元素。 - 使用切片索引:使用
tensor[start:end]
根据切片获取张量中的一部分。 - 使用布尔索引:使用布尔条件选择张量中的元素。
- 自动求导:
- 使用
tensor.requires_grad=True
启用张量的自动求导功能。 - 使用
tensor.backward()
计算张量的梯度。 - 使用
tensor.grad
获取张量的梯度值。
这只是一些常见的张量操作示例,PyTorch还提供了许多其他的张量操作和函数,可以根据具体需求进行使用。