Skip to content

Commit 5f51c1d

Browse files
Merge pull request mala-project#654 from RandomDefaultUser/allow_abstract_copy
Added copy/deepcopy for Network class
2 parents 4b52b85 + dbb8813 commit 5f51c1d

3 files changed

Lines changed: 89 additions & 428 deletions

File tree

mala/common/parameters.py

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def __init__(
4141
"openpmd_granularity": 1,
4242
"lammps": True,
4343
"atomic_density_formula": False,
44+
"manual_seed": 0,
4445
}
4546
pass
4647

@@ -162,6 +163,17 @@ def _update_atomic_density_formula(self, new_atomic_density_formula):
162163
new_atomic_density_formula
163164
)
164165

166+
def _update_manual_seed(self, new_seed):
167+
"""
168+
Propagate new random seed to parameter subclasses.
169+
170+
Parameters
171+
----------
172+
new_seed : bool
173+
New random seed.
174+
"""
175+
self._configuration["manual_seed"] = new_seed
176+
165177
@staticmethod
166178
def _member_to_json(member):
167179
"""
@@ -1552,10 +1564,6 @@ class Parameters:
15521564
hyperparameters : ParametersHyperparameterOptimization
15531565
Parameters used for hyperparameter optimization.
15541566
1555-
manual_seed: int
1556-
If not none, this value is used as manual seed for the neural networks.
1557-
Can be used to make experiments comparable. Default: None.
1558-
15591567
datageneration : ParametersDataGeneration
15601568
Parameters used for data generation routines.
15611569
"""
@@ -1739,6 +1747,26 @@ def use_mpi(self, value):
17391747
self.running._update_mpi(self.use_mpi)
17401748
self.hyperparameters._update_mpi(self.use_mpi)
17411749

1750+
@property
1751+
def manual_seed(self):
1752+
"""
1753+
If not none, this value is used as manual seed for the neural networks.
1754+
1755+
Can be used to make experiments comparable. Default: None.
1756+
"""
1757+
return self._manual_seed
1758+
1759+
@manual_seed.setter
1760+
def manual_seed(self, value):
1761+
self._manual_seed = value
1762+
1763+
self.network._update_manual_seed(self.manual_seed)
1764+
self.descriptors._update_manual_seed(self.manual_seed)
1765+
self.targets._update_manual_seed(self.manual_seed)
1766+
self.data._update_manual_seed(self.manual_seed)
1767+
self.running._update_manual_seed(self.manual_seed)
1768+
self.hyperparameters._update_manual_seed(self.manual_seed)
1769+
17421770
@property
17431771
def openpmd_configuration(self):
17441772
"""

0 commit comments

Comments
 (0)