in ax/core/generator_run.py [0:0]
def clone(self) -> GeneratorRun:
"""Return a deep copy of a GeneratorRun."""
cand_metadata = self.candidate_metadata_by_arm_signature
generator_run = GeneratorRun(
arms=[a.clone() for a in self.arms],
weights=self.weights[:] if self.weights is not None else None,
optimization_config=self.optimization_config.clone()
if self.optimization_config is not None
else None,
search_space=self.search_space.clone()
if self.search_space is not None
else None,
model_predictions=copy.deepcopy(self.model_predictions),
best_arm_predictions=copy.deepcopy(self.best_arm_predictions),
type=self.generator_run_type,
fit_time=self.fit_time,
gen_time=self.gen_time,
model_key=self._model_key,
model_kwargs=self._model_kwargs,
bridge_kwargs=self._bridge_kwargs,
gen_metadata=self._gen_metadata,
model_state_after_gen=self._model_state_after_gen,
generation_step_index=self._generation_step_index,
candidate_metadata_by_arm_signature=cand_metadata,
)
generator_run._time_created = self._time_created
generator_run._index = self._index
generator_run._model_key = self._model_key
generator_run._model_kwargs = (
self._model_kwargs.copy() if self._model_kwargs is not None else None
)
generator_run._bridge_kwargs = (
self._bridge_kwargs.copy() if self._bridge_kwargs is not None else None
)
generator_run._model_state_after_gen = (
self._model_state_after_gen.copy()
if self._model_state_after_gen is not None
else None
)
return generator_run