选择性地迭代Tensor

时间:2017-03-23 20:48:49

标签: python machine-learning tensorflow keras conv-neural-network

我目前正在使用Keras构建CNN,需要定义自定义丢失功能。我只想在损失中考虑我的数据的特定部分,并根据某个参数值忽略其他部分。但是,我无法迭代Keras损失函数所期望的Tensor对象。

我有一种简单的方法可以计算两个张量之间的均方误差,只查看张量中的选定值吗?

例如,我的每个Tensor代表一个2D 16x16网格,每个单元格有2个参数 - 形状(16,16,2)。我只想比较其中一个参数等于1的单元格。

1 个答案:

答案 0 :(得分:1)

一般方法是使用二进制掩码。 Tensorflow提供了几个布尔函数,例如{{1}}和{{1}}。要仅选择等于某个值的输入,可以使用{{1}},然后将损失张量乘以获得的二进制掩码。