Pystematic is a lightweight framework that helps you to systematically setup and run reproducible computational experiments in python.
Main features:
- Standardizes how experiments and associated parameters are defined.
- Provides both CLI and programmatic interfaces for running your experiments.
- Encourages reproducibility by isolating experiment outputs and providing tools for managing random seeds.
pystematic is available on pypi, and can be installed with your package manager of choice.
If using poetry:
$ poetry add pystematic
or with pip:
$ pip install pystematic
Experiments and parameters are defined by decorating the main function of the
experiment. The following example defines an experiment named hello_world
with a single parameter name
:
import pystematic as ps
@ps.parameter(
name="name",
help="The name to greet.",
)
@ps.experiment
def hello_world(params):
print(f"Hello {params['name']}!")
You can run the experiment either by supplying a dict containing the values for the parameters:
hello_world.run({
"name": "World",
})
or you can run the experiment from the command line by invoking the cli()
method of the experiment:
if __name__ == "__main__":
hello_world.cli()
Then from the terminal you simply run:
$ python path/to/file.py --name "World"
Full documentation is available at https://pystematic.readthedocs.io.
For running machine learning experiments in pytorch check out the pystematic-torch plugin.
Other related tools that might interest you: