PyTorch矩阵归一化:使用normalize函数
PyTorch中可以使用torch.nn.functional中的normalize函数对矩阵进行归一化。
normalize函数的语法如下:
torch.nn.functional.normalize(input, p=2, dim=1, eps=1e-12, out=None)
其中:
input:要归一化的矩阵,可以是一个张量或一个变量。p:范数的阶数,默认为2。dim:要归一化的维度,默认为1,即对每一行进行归一化。如果要对每一列进行归一化,可以设置为0。eps:分母中的常数,用于避免除以0的情况。out:输出张量,如果指定此参数,则将结果存储在此参数中。
例如,对一个2x3的矩阵进行行归一化可以使用以下代码:
import torch
x = torch.randn(2, 3)
x_normalized = torch.nn.functional.normalize(x, p=2, dim=1)
print(x)
print(x_normalized)
输出:
tensor([[ 0.3083, -0.2712, 1.2095],
[-0.7586, 0.6315, -1.0905]])
tensor([[ 0.2235, -0.1965, 0.8750],
[-0.4543, 0.3786, -0.6543]])
其中,第一行是原始矩阵,第二行是行归一化后的结果。可以看到,每一行的范数都变成了1。
原文地址: https://www.cveoy.top/t/topic/m4GR 著作权归作者所有。请勿转载和采集!