jax_dna.optimization.simulator ============================== .. py:module:: jax_dna.optimization.simulator .. autoapi-nested-parse:: Simulation actors for use in an jax_dna.optimization.ray_optimization.Optimization loop. Classes ------- .. autoapisummary:: jax_dna.optimization.simulator.BaseSimulator jax_dna.optimization.simulator.SimulatorActor Module Contents --------------- .. py:class:: BaseSimulator(name: str, fn: Callable[[jax_dna.utils.types.Params, jax_dna.utils.types.MetaData], tuple[str, Ellipsis]], exposes: list[str], meta_data: jax_dna.utils.types.MetaData) A base class for a simulator actor. The class is split this way to make testing easier. .. py:attribute:: _name .. py:attribute:: _fn .. py:attribute:: _exposes .. py:attribute:: _meta_data .. py:method:: name() -> str Returns the name of the simulation. .. py:method:: exposes() -> list[str] Returns the list of observables exposed by the simulation. .. py:method:: meta_data() -> jax_dna.utils.types.MetaData Returns the metadata used by the simulation. .. py:method:: run(params: jax_dna.utils.types.Params) -> tuple[str, Ellipsis] Runs the simulation using the given params and returns the observables and metadata. .. py:class:: SimulatorActor(name: str, fn: Callable[[jax_dna.utils.types.Params, jax_dna.utils.types.MetaData], tuple[str, Ellipsis]], exposes: list[str], meta_data: jax_dna.utils.types.MetaData) Bases: :py:obj:`BaseSimulator` A ray actor that runs a simulation and exposes observables. The simulator actor is wrapper around a simulator function so to be used in a jax_dna.optimization.ray_optimization.Optimization. Because a simulation trajectory and derived observables can be large, the simulation function should write the trajectory to a file and return the path to the file.