张量流取被掩蔽的十的元素的平均值

2024-04-18 14:52:57 发布

您现在位置:Python中文网/ 问答频道 /正文

为了处理可变长度的输入序列,所有的输入序列都被填充到相同的长度。这影响了损失价值的计算。所以掩模张量与损耗张量相乘,使得填充元素产生的损耗为0。但是在计算损失的平均值时tf.math.reduce\u平均值或者tf.keras.指标。平均值,这些填充元素对平均值有影响。你知道吗

所以我的问题是,如何取张量流中掩盖损失的平均值?你知道吗

例如:

t = [1, 2, 3]
t = pad(t, 6) # padding, now t = [1, 2, 3, 0, 0, 0]
mask = [True, True, True, False, False, False]
loss = [0.1, 0.2, 0.3, 0.12, 0.2, 0.4] # notice padded elements contribute to loss
loss = loss * mask # loss = [0.1, 0.2, 0.3, 0, 0, 0]

现在我想要的是:

Mean(loss) = 0.6, which is (0.1 + 0.2 + 0.3) / 3

不是这样的:

Mean(loss) = 0.1, which is (0.1 + 0.2 + 0.3 + 0 + 0 + 0)/6

Tags: falsetrue元素whichistf序列mask