我需要计算Frobenius规范,以便使用TensorFlow框架实现此公式:
其中w
是一个包含50行和100列的矩阵.
我试着写点什么,但我不明白如何填写axis
论点.
tf.pow(
tf.norm(x, ord='fro', axis=?), 2
)
Run Code Online (Sandbox Code Playgroud)
根据TensorFlow文档,我必须使用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]
将要做的伎俩.
归档时间: |
|
查看次数: |
6440 次 |
最近记录: |