gpt4 book ai didi

python - TensorFlow 中的矩阵范数

转载 作者:太空狗 更新时间:2023-10-29 21:30:38 25 4
gpt4 key购买 nike

我需要计算 Frobenius 范数,以便使用 TensorFlow 框架实现此公式:

Formula

其中 w 是一个 50 行 100 列的矩阵。

我试着写点东西,但我不明白如何填写 axis 参数。

tf.pow(
tf.norm(x, ord='fro', axis=?), 2
)

根据TensorFlow docs我必须使用 2 元组(或 2 列表),因为它确定要在其上计算矩阵范数的张量中的轴,但我只需要一个普通的 Frobenius 范数。例如,在 SciPy 中,我可以在不指定任何轴的情况下执行此操作。

那么,我应该使用什么作为 axis 来模拟 SciPy 函数?

最佳答案

所以 Frobenius 范数是 nxm 矩阵的总和,但是 tf.norm 允许批量处理多个向量和矩阵。

为了更好地理解,假设您有一个 3 阶张量:

t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]] ]

可以看作是多个矩阵在一个方向上对齐,但函数无法自行判断是哪个矩阵。它可以是以下一批矩阵:

[2, 4, 6] , [8 ,10, 12], [14, 16, 18]

[2 8 14], [4, 10, 16], [6, 12, 18]

所以基本上 axis 告诉您在 Frobenius 范数中进行求和时要考虑的方向。

在您的情况下,[1,2][-2,-1] 中的任何一个都可以解决问题。

关于python - TensorFlow 中的矩阵范数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43917456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com