我已经编码了一个神经网络,它为每个输入样本返回一个3个数字的列表。然后从实际值中减去这些值以获得差异。如何遍历TensorFlow中张量的元素?
例如,
actual = [1,2,3]
predicted = [0,0,1]
diff = [1,2,2]
所以我现在张具有形状[batch_size时,3] 我想要做的是遍历张量元素来构造我的损失函数。
举例来说,如果我的batch_size是2,最后
diff = [[a,b,c],[d,e,f]]
我想损失是
Loss = mean(sqrt(a^2+b^2+c^2), sqrt(d^2+e^2+f^2))
我知道TensorFlow具有tf.nn.l2_loss()函数计算整个张量的L2损失。但是我想要的是某个轴上张量元素的损失的平均值。
我该如何去做这件事?
这里有一个专业技巧,建立在使用像np.mean,np.sum等,与轴参数numpy的功能虚拟数据的损失函数在批量操作,例如: np.mean(数组,轴= 1)。然后换成弗兰克答案中的等效张量流函数。 – vega
请注意。谢谢! – phoenixwing