fairseq/criterions/binary_cross_entropy.py

Killed 0 out of 7 mutants

Survived

Survived mutation testing. These mutants show holes in your test suite.

Mutant 3128

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -12,7 +12,7 @@
 from fairseq.criterions import FairseqCriterion, register_criterion
 
 
-@register_criterion('binary_cross_entropy')
+@register_criterion('XXbinary_cross_entropyXX')
 class BinaryCrossEntropyCriterion(FairseqCriterion):
 
     def __init__(self, task, infonce=False, loss_weights=None, log_keys=None):

Mutant 3129

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -11,8 +11,6 @@
 from fairseq import utils
 from fairseq.criterions import FairseqCriterion, register_criterion
 
-
-@register_criterion('binary_cross_entropy')
 class BinaryCrossEntropyCriterion(FairseqCriterion):
 
     def __init__(self, task, infonce=False, loss_weights=None, log_keys=None):

Mutant 3130

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -15,7 +15,7 @@
 @register_criterion('binary_cross_entropy')
 class BinaryCrossEntropyCriterion(FairseqCriterion):
 
-    def __init__(self, task, infonce=False, loss_weights=None, log_keys=None):
+    def __init__(self, task, infonce=True, loss_weights=None, log_keys=None):
         super().__init__(task)
         self.infonce = infonce
         self.loss_weights = None if loss_weights is None else eval(loss_weights)

Mutant 3131

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -21,7 +21,6 @@
         self.loss_weights = None if loss_weights is None else eval(loss_weights)
         self.log_keys = [] if log_keys is None else eval(log_keys)
 
-    @staticmethod
     def add_args(parser):
         """Add criterion-specific arguments to the parser."""
         # fmt: off

Mutant 3132

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -32,7 +32,7 @@
         parser.add_argument('--log-keys', type=str, default=None,
                             help='output keys to log')
 
-    def forward(self, model, sample, reduce=True, log_pred=False):
+    def forward(self, model, sample, reduce=False, log_pred=False):
         """Compute the loss for the given sample.
 
         Returns a tuple with three elements:

Mutant 3133

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -32,7 +32,7 @@
         parser.add_argument('--log-keys', type=str, default=None,
                             help='output keys to log')
 
-    def forward(self, model, sample, reduce=True, log_pred=False):
+    def forward(self, model, sample, reduce=True, log_pred=True):
         """Compute the loss for the given sample.
 
         Returns a tuple with three elements:

Mutant 3134

--- fairseq/criterions/binary_cross_entropy.py
+++ fairseq/criterions/binary_cross_entropy.py
@@ -109,7 +109,6 @@
             logging_output['target'] = target.cpu().numpy()
         return loss, sample_size, logging_output
 
-    @staticmethod
     def aggregate_logging_outputs(logging_outputs):
         """Aggregate logging outputs from data parallel training."""
         loss_sum = utils.item(sum(log.get('loss', 0) for log in logging_outputs))