📜  Pytorch 中的向量运算(1)

📅  最后修改于: 2023-12-03 15:34:32.994000             🧑  作者: Mango

PyTorch 中的向量运算

介绍

PyTorch 是一个开源的深度学习框架,它提供了丰富的向量运算操作,方便开发者进行深度学习任务中的数据处理和运算。

本文将会介绍 PyTorch 中的向量运算,包括基本的向量加减乘除、点积、叉积等运算,以及如何使用 PyTorch 进行矩阵运算。

向量基础运算
向量加减乘除

在 PyTorch 中,我们可以使用 torch.Tensor 类来进行向量运算。torch.Tensor 代表了一个多维数组。

向量加减乘除的操作可以使用 + - * / 等操作符实现。

import torch

# 定义两个向量
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

# 向量加法
c = a + b
print(c)  # 输出:tensor([5, 7, 9])

# 向量减法
c = a - b
print(c)  # 输出:tensor([-3, -3, -3])

# 向量乘法
c = a * b
print(c)  # 输出:tensor([ 4, 10, 18])

# 向量除法
c = b / a
print(c)  # 输出:tensor([4.0000, 2.5000, 2.0000])
向量点积

向量点积又称为内积。在 PyTorch 中,可以使用 torch.dot 方法来计算两个向量的点积。

import torch

# 定义两个向量
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

# 计算向量点积
c = torch.dot(a, b)
print(c)  # 输出:tensor(32)
向量叉积

向量叉积又称为外积。在 PyTorch 中,可以使用 torch.cross 方法来计算两个向量的叉积。

import torch

# 定义两个向量
a = torch.tensor([1, 2, 3])
b = torch.tensor([4, 5, 6])

# 计算向量叉积
c = torch.cross(a, b)
print(c)  # 输出:tensor([-3,  6, -3])
矩阵运算

除了向量运算,PyTorch 还可以进行矩阵运算。

矩阵乘法

在 PyTorch 中,可以使用 torch.mm 方法来计算两个矩阵的乘积。

import torch

# 定义两个矩阵
a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = torch.tensor([[7, 8], [9, 10], [11, 12]])

# 计算矩阵乘积
c = torch.mm(a, b)
print(c)  # 输出:tensor([[ 58,  64], [139, 154]])
矩阵转置

在 PyTorch 中,可以使用 torch.t 方法来对矩阵进行转置。

import torch

# 定义一个矩阵
a = torch.tensor([[1, 2, 3], [4, 5, 6]])

# 进行矩阵转置
b = torch.t(a)  
print(b)  # 输出:tensor([[1, 4], [2, 5], [3, 6]])
总结

本文简单介绍了 PyTorch 中的向量运算,包括基本的加减乘除、点积、叉积等操作,以及矩阵运算中的矩阵乘法和矩阵转置。这些向量运算操作是进行深度学习中数据处理和运算的基础。