喀拉拉邦的weighted_masked_objective

时间:2019-08-15 00:59:53

标签: keras loss-function

根据Keras Code,Keras会考虑可选的权重和掩码来计算损耗值。

       for i in range(len(self.outputs)):
        if i in skip_target_indices:
            continue
        y_true = self.targets[i]
        y_pred = self.outputs[i]
        weighted_loss = weighted_losses[i]
        sample_weight = sample_weights[i]
        mask = masks[i]
        loss_weight = loss_weights_list[i]
        with K.name_scope(self.output_names[i] + '_loss'):
            output_loss = weighted_loss(y_true, y_pred,
                                        sample_weight, mask)
        if len(self.outputs) > 1:
            self.metrics_tensors.append(output_loss)
            self.metrics_names.append(self.output_names[i] + '_loss')
        if total_loss is None:
            total_loss = loss_weight * output_loss
        else:
            total_loss += loss_weight * output_loss

另一方面,在Keras documentation中,我看到基本损失函数是在编译函数中引入的,然后样本或类权重可以在fit命令中引入。 我不确定如何将第一个代码中的“权重和掩码”与第二个文档中的“采样和类权重”相关联。有人可以给我更多解释吗?

我的应用程序实际上是一个卷积LSTM网络,我在其中输入了一系列图像,并希望该网络生成像素类的输出图(输入图的大小相同),但是某些像素没有有效的标签在训练中。我应该使用重量或口罩,样品还是课堂?

0 个答案:

没有答案