keras 如何优雅地计算两个Tensor的MSE?

3phpmpom  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(158)

假设有两个Tensor列表:

r1 = K.variable(1)
r2 = K.variable(2)
v1 = K.variable(3)
v2 = K.variable(4)
l1 = [r1,r2]
l2 = [v1,v2]

我试着计算这两个Tensor的MSE。我在做的是:

res = []
for i in range(len(l1)):
    res.append(K.square(l1[i] - l2[i]))
return sum(res)/len(res)

但是我觉得这段代码很乱,有没有更有效、更优雅的方法来做到这一点?

6gpjuf90

6gpjuf901#

我想你应该可以简单地做到:

return K.mean(K.square(K.stack(l1) - K.stack(l2)))

注意,这里我假设列表中的所有Tensor都有相同的形状(就像你的代码片段一样,否则无论如何也会失败)。

相关问题