在pytorch中采用矩阵行/列的范数

时间:2019-08-23 13:56:06

标签: pytorch

向量的范数可以用

表示
torch.norm(vec)

但是,如何对一组以矩阵(行或列)分组的向量取范数?

例如,如果矩阵大小为(5,8),则行范数应返回大小为(5)范数的向量。

1 个答案:

答案 0 :(得分:3)

torch.norm无需额外的参数即可执行所谓的Frobenius范数,该范数有效地将矩阵重塑为一个长向量并返回该2范数。要沿特定维度进行规范,请提供可选的dim参数。

例如torch.norm(mat, dim=1)将沿着列计算2范数(即,这将计算每行的2范数),从而将大小为mat的{​​{1}}转换为向量大小为[N,M]的规范。

要计算列的范数,请使用[N]