pyro/infer/elbo.py

Killed 4 out of 20 mutants

Survived

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

Mutant 46

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -58,7 +58,7 @@
     """
 
     def __init__(self,
-                 num_particles=1,
+                 num_particles=2,
                  max_plate_nesting=float('inf'),
                  max_iarange_nesting=None,  # DEPRECATED
                  vectorize_particles=False,

Mutant 48

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -61,7 +61,7 @@
                  num_particles=1,
                  max_plate_nesting=float('inf'),
                  max_iarange_nesting=None,  # DEPRECATED
-                 vectorize_particles=False,
+                 vectorize_particles=True,
                  strict_enumeration_warning=True,
                  ignore_jit_warnings=False,
                  jit_options=None,

Mutant 49

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -62,7 +62,7 @@
                  max_plate_nesting=float('inf'),
                  max_iarange_nesting=None,  # DEPRECATED
                  vectorize_particles=False,
-                 strict_enumeration_warning=True,
+                 strict_enumeration_warning=False,
                  ignore_jit_warnings=False,
                  jit_options=None,
                  retain_graph=None,

Mutant 50

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -63,7 +63,7 @@
                  max_iarange_nesting=None,  # DEPRECATED
                  vectorize_particles=False,
                  strict_enumeration_warning=True,
-                 ignore_jit_warnings=False,
+                 ignore_jit_warnings=True,
                  jit_options=None,
                  retain_graph=None,
                  tail_adaptive_beta=-1.0):

Mutant 51

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -66,7 +66,7 @@
                  ignore_jit_warnings=False,
                  jit_options=None,
                  retain_graph=None,
-                 tail_adaptive_beta=-1.0):
+                 tail_adaptive_beta=+1.0):
         if max_iarange_nesting is not None:
             warnings.warn("max_iarange_nesting is deprecated; use max_plate_nesting instead",
                           DeprecationWarning)

Mutant 52

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -66,7 +66,7 @@
                  ignore_jit_warnings=False,
                  jit_options=None,
                  retain_graph=None,
-                 tail_adaptive_beta=-1.0):
+                 tail_adaptive_beta=-2.0):
         if max_iarange_nesting is not None:
             warnings.warn("max_iarange_nesting is deprecated; use max_plate_nesting instead",
                           DeprecationWarning)

Mutant 56

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -73,7 +73,7 @@
             max_plate_nesting = max_iarange_nesting
         self.max_plate_nesting = max_plate_nesting
         self.num_particles = num_particles
-        self.vectorize_particles = vectorize_particles
+        self.vectorize_particles = None
         self.retain_graph = retain_graph
         if self.vectorize_particles and self.num_particles > 1:
             self.max_plate_nesting += 1

Mutant 57

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -74,7 +74,7 @@
         self.max_plate_nesting = max_plate_nesting
         self.num_particles = num_particles
         self.vectorize_particles = vectorize_particles
-        self.retain_graph = retain_graph
+        self.retain_graph = None
         if self.vectorize_particles and self.num_particles > 1:
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning

Mutant 58

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -75,7 +75,7 @@
         self.num_particles = num_particles
         self.vectorize_particles = vectorize_particles
         self.retain_graph = retain_graph
-        if self.vectorize_particles and self.num_particles > 1:
+        if self.vectorize_particles and self.num_particles >= 1:
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning
         self.ignore_jit_warnings = ignore_jit_warnings

Mutant 59

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -75,7 +75,7 @@
         self.num_particles = num_particles
         self.vectorize_particles = vectorize_particles
         self.retain_graph = retain_graph
-        if self.vectorize_particles and self.num_particles > 1:
+        if self.vectorize_particles and self.num_particles > 2:
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning
         self.ignore_jit_warnings = ignore_jit_warnings

Mutant 60

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -75,7 +75,7 @@
         self.num_particles = num_particles
         self.vectorize_particles = vectorize_particles
         self.retain_graph = retain_graph
-        if self.vectorize_particles and self.num_particles > 1:
+        if self.vectorize_particles or self.num_particles > 1:
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning
         self.ignore_jit_warnings = ignore_jit_warnings

Mutant 61

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -77,7 +77,7 @@
         self.retain_graph = retain_graph
         if self.vectorize_particles and self.num_particles > 1:
             self.max_plate_nesting += 1
-        self.strict_enumeration_warning = strict_enumeration_warning
+        self.strict_enumeration_warning = None
         self.ignore_jit_warnings = ignore_jit_warnings
         self.jit_options = jit_options
         self.tail_adaptive_beta = tail_adaptive_beta

Mutant 62

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -78,7 +78,7 @@
         if self.vectorize_particles and self.num_particles > 1:
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning
-        self.ignore_jit_warnings = ignore_jit_warnings
+        self.ignore_jit_warnings = None
         self.jit_options = jit_options
         self.tail_adaptive_beta = tail_adaptive_beta
 

Mutant 63

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -79,7 +79,7 @@
             self.max_plate_nesting += 1
         self.strict_enumeration_warning = strict_enumeration_warning
         self.ignore_jit_warnings = ignore_jit_warnings
-        self.jit_options = jit_options
+        self.jit_options = None
         self.tail_adaptive_beta = tail_adaptive_beta
 
     def _guess_max_plate_nesting(self, model, guide, args, kwargs):

Mutant 64

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -80,7 +80,7 @@
         self.strict_enumeration_warning = strict_enumeration_warning
         self.ignore_jit_warnings = ignore_jit_warnings
         self.jit_options = jit_options
-        self.tail_adaptive_beta = tail_adaptive_beta
+        self.tail_adaptive_beta = None
 
     def _guess_max_plate_nesting(self, model, guide, args, kwargs):
         """

Mutant 65

--- pyro/infer/elbo.py
+++ pyro/infer/elbo.py
@@ -148,7 +148,6 @@
                                self._vectorized_num_particles(guide),
                                args, kwargs)
 
-    @abstractmethod
     def _get_trace(self, model, guide, args, kwargs):
         """
         Returns a single trace from the guide, and the model that is run