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]]。
torch.normal()函数用于生成符合指定均值和标准差的正态分布(高斯分布)随机数的张量。它接受多种不同的参数形式,用于指定生成随机数的均值和标准差。
以下是torch.normal()函数的常见参数形式:
torch.normal(mean, std)
:接受两个标量作为输入,分别表示生成随机数的均值和标准差。返回一个具有相同形状的张量。torch.normal(mean=torch.tensor([mean1, mean2]), std=std)
:接受一个均值张量和标准差标量作为输入。均值张量可以是任意形状,但必须与标准差形状一致。返回一个具有与均值张量相同形状的张量。torch.normal(mean=mean, std=torch.tensor([std1, std2]))
:接受一个标量均值和标准差张量作为输入。标准差张量可以是任意形状,但必须与均值形状一致。返回一个具有与标准差张量相同形状的张量。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]])