torch.matmul()

torch.matmul是PyTorch库中的一个函数,用于执行两个张量的矩阵乘法操作。它接受两个张量作为输入,并返回它们的矩阵乘积。

具体来说,如果输入张量是数学上的矩阵,则torch.matmul将执行矩阵乘法运算。如果输入张量的维度不符合矩阵乘法的要求,则torch.matmul将根据广播规则对输入张量进行扩展,并执行元素级的乘法和求和操作。

以下是使用torch.matmul函数进行矩阵乘法的示例:

pythonCopy Code
import torch

# 创建两个张量
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])

# 执行矩阵乘法
result = torch.matmul(tensor1, tensor2)

print(result)

输出结果为:

Copy Code
tensor([[19, 22],
        [43, 50]])

这表示矩阵tensor1与tensor2的乘积结果为一个新的张量[[19, 22], [43, 50]]。

https://raw.githubusercontent.com/Chanzhaoyu/chatgpt-web/main/src/assets/avatar.jpg

torch.normal()

torch.normal()函数用于生成符合指定均值和标准差的正态分布(高斯分布)随机数的张量。它接受多种不同的参数形式,用于指定生成随机数的均值和标准差。

以下是torch.normal()函数的常见参数形式:

  1. torch.normal(mean, std):接受两个标量作为输入,分别表示生成随机数的均值和标准差。返回一个具有相同形状的张量。
  2. torch.normal(mean=torch.tensor([mean1, mean2]), std=std):接受一个均值张量和标准差标量作为输入。均值张量可以是任意形状,但必须与标准差形状一致。返回一个具有与均值张量相同形状的张量。
  3. torch.normal(mean=mean, std=torch.tensor([std1, std2])):接受一个标量均值和标准差张量作为输入。标准差张量可以是任意形状,但必须与均值形状一致。返回一个具有与标准差张量相同形状的张量。
  4. torch.normal(mean=torch.tensor([mean1, mean2]), std=torch.tensor([std1, std2])):接受一个均值张量和标准差张量作为输入。均值张量和标准差张量必须具有相同的形状。返回一个具有与均值张量相同形状的张量。

以下是使用torch.normal()函数生成正态分布随机数的示例:

pythonCopy Code
import torch

# 生成一个均值为0,标准差为1的正态分布随机数张量
random_tensor = torch.normal(0, 1, size=(3, 3))
print(random_tensor)

输出结果为:

Copy Code
tensor([[ 0.9738, -1.6599,  0.5645],
        [-0.6121, -0.4908,  0.9307],
        [ 0.9152,  1.3514, -0.7262]])