A framework for conducting machine learning experiments in python
Project description
What is MLXP?
MLXP (Machine Learning eXperimentalist for Python) package is an open-source Python framework for managing multiple experiments with a flexible option structure from launching, and logging to querying results. A full documentation is available in the MLXP’s project page.
Key functionalities
Launching several jobs automatically using hydra and hierarchical configs by adding a single decorator to the main task function.
Logging outputs (metrics, artifacts, checkpoints) of a job in a uniquely assigned directory along with all metadata and configuration options to reproduce the experiment.
Code version management by automatically generating a deployment version of the code based on the latest git commit.
Submitting jobs to a cluster using a job scheduler.
Exploiting the results of several experiments by easily reading, querying, grouping, and aggregating the output of several jobs.
Installing MLXP
You can install MLXP in a virtualenv/conda environment where pip is installed (check which pip):
Stable release
$ pip install MLXP
Main branch
$ pip install git+https://github.com/inria-thoth/mlxp@master#egg=mlxp
Requirements
Requirements |
---|
hydra-core |
omegaconf |
tinydb |
setuptools |
PyYAML |
pandas |
ply |
dill |
GitPython |
Documentation
A full documentation is available in the MLXP’s official documentation website. See the following pages for more detailled information:
Quick start guide: for a simple example of how to use MLXP. Tutorial: to get a better understanding of all functionalities provided by MLXP. Documentation: for detailed documentation.
Acknowledgments
Alexandre Zouaoui kindly shared his python implementation for creating job scripts and submiting them to a cluster. His code served as the basis for the implementation of the Scheduling functionality.
Juliette Marrie, Romain Ménégaux and Pierre Wolinski provided valuable feedback and suggestions to improve MLXP.
License
MLXP is distributed under MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.