示例#1
0
    def _setup_loss(self):
        if self.loss[TYPE] == 'softmax_cross_entropy':
            self.train_loss_function = SoftmaxCrossEntropyLoss(
                num_classes=self.num_classes,
                feature_loss=self.loss,
                name='train_loss'
            )
        elif self.loss[TYPE] == 'sampled_softmax_cross_entropy':
            self.train_loss_function = SampledSoftmaxCrossEntropyLoss(
                decoder_obj=self.decoder_obj,
                num_classes=self.num_classes,
                feature_loss=self.loss,
                name='train_loss'
            )
        else:
            raise ValueError(
                "Loss type {} is not supported. Valid values are "
                "'softmax_cross_entropy' or "
                "'sampled_softmax_cross_entropy'".format(self.loss[TYPE])
            )

        self.eval_loss_function = SoftmaxCrossEntropyLoss(
            num_classes=self.num_classes,
            feature_loss=self.loss,
            name='eval_loss')
示例#2
0
    def __init__(self,
                 num_classes=0,
                 feature_loss=None,
                 name='softmax_cross_entropy_metric'):
        super(SoftmaxCrossEntropyMetric, self).__init__(name=name)

        self.softmax_cross_entropy_function = SoftmaxCrossEntropyLoss(
            num_classes=num_classes, feature_loss=feature_loss)
示例#3
0
 def _setup_loss(self):
     if self.loss[TYPE] == 'mean_squared_error':
         self.train_loss_function = MSELoss()
         self.eval_loss_function = MSEMetric(name='eval_loss')
     elif self.loss[TYPE] == 'mean_absolute_error':
         self.train_loss_function = MAELoss()
         self.eval_loss_function = MAEMetric(name='eval_loss')
     elif self.loss[TYPE] == SOFTMAX_CROSS_ENTROPY:
         self.train_loss_function = SoftmaxCrossEntropyLoss(
             num_classes=self.vector_size,
             feature_loss=self.loss,
             name='train_loss')
         self.eval_loss_function = SoftmaxCrossEntropyMetric(
             num_classes=self.vector_size,
             feature_loss=self.loss,
             name='eval_loss')
     else:
         raise ValueError('Unsupported loss type {}'.format(
             self.loss[TYPE]))
示例#4
0
 def __init__(self, **kwargs):
     super().__init__()
     self.softmax_cross_entropy_function = SoftmaxCrossEntropyLoss(**kwargs)