From fe4e0c54d19e50e6ab976eb01b343cd77441a99e Mon Sep 17 00:00:00 2001 From: Jonathan Dekermanjian Date: Wed, 4 Sep 2024 18:19:27 -0600 Subject: [PATCH] added docs to methods --- pymc/model/core.py | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/pymc/model/core.py b/pymc/model/core.py index b312b40948..99f8b2c96c 100644 --- a/pymc/model/core.py +++ b/pymc/model/core.py @@ -1570,21 +1570,35 @@ def __getitem__(self, key): def __contains__(self, key): return key in self.named_vars or self.name_for(key) in self.named_vars - + def __copy__(self): + """ + Clone a pymc model by overiding the python copy method using the clone_model method from fgraph. + if guassian process variables are detected then an exception will be raised. + """ from pymc.model.fgraph import clone_model - check_for_gp_vars = [k for x in ['_rotated_', '_hsgp_coeffs_'] for k in self.named_vars.keys() if x in k] + + check_for_gp_vars = [ + k for x in ["_rotated_", "_hsgp_coeffs_"] for k in self.named_vars.keys() if x in k + ] if len(check_for_gp_vars) > 0: raise Exception("Unable to clone Gaussian Process Variables") - + return clone_model(self) - + def __deepcopy__(self, _): + """ + Clone a pymc model by overiding the python copy method using the clone_model method from fgraph. + if guassian process variables are detected then an exception will be raised. + """ from pymc.model.fgraph import clone_model - check_for_gp_vars = [k for x in ['_rotated_', '_hsgp_coeffs_'] for k in self.named_vars.keys() if x in k] + + check_for_gp_vars = [ + k for x in ["_rotated_", "_hsgp_coeffs_"] for k in self.named_vars.keys() if x in k + ] if len(check_for_gp_vars) > 0: raise Exception("Unable to clone Gaussian Process Variables") - + return clone_model(self) def replace_rvs_by_values(