fairseq/utils.py
Killed 14 out of 46 mutantsSurvived
Survived mutation testing. These mutants show holes in your test suite.Mutant 51
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -27,7 +27,7 @@
from amp_C import multi_tensor_l2norm
multi_tensor_l2norm_available = True
except ImportError:
- multi_tensor_l2norm_available = False
+ multi_tensor_l2norm_available = True
logger = logging.getLogger(__name__)
Mutant 52
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -27,7 +27,7 @@
from amp_C import multi_tensor_l2norm
multi_tensor_l2norm_available = True
except ImportError:
- multi_tensor_l2norm_available = False
+ multi_tensor_l2norm_available = None
logger = logging.getLogger(__name__)
Mutant 53
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -30,7 +30,7 @@
multi_tensor_l2norm_available = False
-logger = logging.getLogger(__name__)
+logger = None
def split_paths(paths: str) -> List[str]:
Mutant 54
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -195,7 +195,7 @@
return hypo_tokens, hypo_str, alignment
-def make_positions(tensor, padding_idx: int, onnx_trace: bool = False):
+def make_positions(tensor, padding_idx: int, onnx_trace: bool = True):
"""Replace non-padding symbols with their position numbers.
Position numbers begin at padding_idx+1. Padding symbols are ignored.
Mutant 56
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -222,7 +222,7 @@
def convert_padding_direction(
- src_tokens, padding_idx, right_to_left: bool = False, left_to_right: bool = False
+ src_tokens, padding_idx, right_to_left: bool = False, left_to_right: bool = True
):
assert right_to_left ^ left_to_right
pad_mask = src_tokens.eq(padding_idx)
Mutant 59
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -226,7 +226,7 @@
):
assert right_to_left ^ left_to_right
pad_mask = src_tokens.eq(padding_idx)
- if not pad_mask.any():
+ if pad_mask.any():
# no padding, return early
return src_tokens
if left_to_right and not pad_mask[:, 0].any():
Mutant 60
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -229,7 +229,7 @@
if not pad_mask.any():
# no padding, return early
return src_tokens
- if left_to_right and not pad_mask[:, 0].any():
+ if left_to_right and pad_mask[:, 0].any():
# already right padded
return src_tokens
if right_to_left and not pad_mask[:, -1].any():
Mutant 62
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -229,7 +229,7 @@
if not pad_mask.any():
# no padding, return early
return src_tokens
- if left_to_right and not pad_mask[:, 0].any():
+ if left_to_right or not pad_mask[:, 0].any():
# already right padded
return src_tokens
if right_to_left and not pad_mask[:, -1].any():
Mutant 63
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -232,7 +232,7 @@
if left_to_right and not pad_mask[:, 0].any():
# already right padded
return src_tokens
- if right_to_left and not pad_mask[:, -1].any():
+ if right_to_left and pad_mask[:, -1].any():
# already left padded
return src_tokens
max_len = src_tokens.size(1)
Mutant 65
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -232,7 +232,7 @@
if left_to_right and not pad_mask[:, 0].any():
# already right padded
return src_tokens
- if right_to_left and not pad_mask[:, -1].any():
+ if right_to_left and not pad_mask[:, -2].any():
# already left padded
return src_tokens
max_len = src_tokens.size(1)
Mutant 66
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -232,7 +232,7 @@
if left_to_right and not pad_mask[:, 0].any():
# already right padded
return src_tokens
- if right_to_left and not pad_mask[:, -1].any():
+ if right_to_left or not pad_mask[:, -1].any():
# already left padded
return src_tokens
max_len = src_tokens.size(1)
Mutant 69
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -236,7 +236,7 @@
# already left padded
return src_tokens
max_len = src_tokens.size(1)
- buffered = torch.empty(0).long()
+ buffered = torch.empty(1).long()
if max_len > 0:
torch.arange(max_len, out=buffered)
range = buffered.type_as(src_tokens).expand_as(src_tokens)
Mutant 71
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -237,7 +237,7 @@
return src_tokens
max_len = src_tokens.size(1)
buffered = torch.empty(0).long()
- if max_len > 0:
+ if max_len >= 0:
torch.arange(max_len, out=buffered)
range = buffered.type_as(src_tokens).expand_as(src_tokens)
num_pads = pad_mask.long().sum(dim=1, keepdim=True)
Mutant 72
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -237,7 +237,7 @@
return src_tokens
max_len = src_tokens.size(1)
buffered = torch.empty(0).long()
- if max_len > 0:
+ if max_len > 1:
torch.arange(max_len, out=buffered)
range = buffered.type_as(src_tokens).expand_as(src_tokens)
num_pads = pad_mask.long().sum(dim=1, keepdim=True)
Mutant 77
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -244,7 +244,7 @@
if right_to_left:
index = torch.remainder(range - num_pads, max_len)
else:
- index = torch.remainder(range + num_pads, max_len)
+ index = torch.remainder(range - num_pads, max_len)
return src_tokens.gather(1, index)
Mutant 80
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -256,7 +256,7 @@
return tensor
-def multi_tensor_total_norm(grads, chunk_size=2048*32) -> torch.Tensor:
+def multi_tensor_total_norm(grads, chunk_size=2049*32) -> torch.Tensor:
per_device_grads = {}
norms = []
for grad in grads:
Mutant 81
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -256,7 +256,7 @@
return tensor
-def multi_tensor_total_norm(grads, chunk_size=2048*32) -> torch.Tensor:
+def multi_tensor_total_norm(grads, chunk_size=2048/32) -> torch.Tensor:
per_device_grads = {}
norms = []
for grad in grads:
Mutant 82
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -256,7 +256,7 @@
return tensor
-def multi_tensor_total_norm(grads, chunk_size=2048*32) -> torch.Tensor:
+def multi_tensor_total_norm(grads, chunk_size=2048*33) -> torch.Tensor:
per_device_grads = {}
norms = []
for grad in grads:
Mutant 83
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -397,7 +397,7 @@
importlib.import_module(module_name)
-def softmax(x, dim: int, onnx_trace: bool = False):
+def softmax(x, dim: int, onnx_trace: bool = True):
if onnx_trace:
return F.softmax(x.float(), dim=dim)
else:
Mutant 84
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -404,7 +404,7 @@
return F.softmax(x, dim=dim, dtype=torch.float32)
-def log_softmax(x, dim: int, onnx_trace: bool = False):
+def log_softmax(x, dim: int, onnx_trace: bool = True):
if onnx_trace:
return F.log_softmax(x.float(), dim=dim)
else:
Mutant 85
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -411,7 +411,7 @@
return F.log_softmax(x, dim=dim, dtype=torch.float32)
-def get_perplexity(loss, round=2, base=2):
+def get_perplexity(loss, round=3, base=2):
if loss is None:
return 0.
try:
Mutant 86
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -411,7 +411,7 @@
return F.log_softmax(x, dim=dim, dtype=torch.float32)
-def get_perplexity(loss, round=2, base=2):
+def get_perplexity(loss, round=2, base=3):
if loss is None:
return 0.
try:
Mutant 87
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -420,7 +420,7 @@
return float('inf')
-def deprecation_warning(message, stacklevel=3):
+def deprecation_warning(message, stacklevel=4):
# don't use DeprecationWarning, since it's ignored by default
warnings.warn(message, stacklevel=stacklevel)
Mutant 88
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -448,7 +448,7 @@
def get_available_activation_fns() -> List:
return [
- "relu",
+ "XXreluXX",
"gelu",
"gelu_fast", # deprecated
"gelu_accurate",
Mutant 89
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -449,7 +449,7 @@
def get_available_activation_fns() -> List:
return [
"relu",
- "gelu",
+ "XXgeluXX",
"gelu_fast", # deprecated
"gelu_accurate",
"tanh",
Mutant 90
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -450,7 +450,7 @@
return [
"relu",
"gelu",
- "gelu_fast", # deprecated
+ "XXgelu_fastXX", # deprecated
"gelu_accurate",
"tanh",
"linear",
Mutant 91
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -451,7 +451,7 @@
"relu",
"gelu",
"gelu_fast", # deprecated
- "gelu_accurate",
+ "XXgelu_accurateXX",
"tanh",
"linear",
]
Mutant 92
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -452,7 +452,7 @@
"gelu",
"gelu_fast", # deprecated
"gelu_accurate",
- "tanh",
+ "XXtanhXX",
"linear",
]
Mutant 93
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -453,7 +453,7 @@
"gelu_fast", # deprecated
"gelu_accurate",
"tanh",
- "linear",
+ "XXlinearXX",
]
Mutant 94
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -456,8 +456,6 @@
"linear",
]
-
-@contextlib.contextmanager
def eval(model):
is_training = model.training
model.eval()
Mutant 95
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -480,8 +480,6 @@
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
-
-@contextlib.contextmanager
def with_torch_seed(seed):
assert isinstance(seed, int)
rng_state = torch.get_rng_state()
Mutant 96
--- fairseq/utils.py
+++ fairseq/utils.py
@@ -565,7 +565,6 @@
self.minor = prop.minor
self.total_memory_in_GB = prop.total_memory / 1024 / 1024 / 1024
- @staticmethod
def pretty_print_cuda_env_list(cuda_env_list):
"""
Given a list of CudaEnviorments, pretty print them