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 along with a tutorial is available in MLXPs project page. A presentation of MLXP can also be found in the companion paper.
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.
How to cite
If you use MLXP in your research, please cite the following paper:
@Misc{Arbel2023MLXP,
author = {Michael Arbel, Alexandre Zouaoui},
title = {MLXP: A framework for conducting replicable Machine Learning eXperiments in Python},
howpublished = {arXiv preprint arXiv:2402.13831},
year = {2024},
url = {https://arxiv.org/abs/2402.13831}
}
Acknowledgments
Juliette Marrie, Romain Ménégaux, Pierre Wolinski and Thomas Ryckeboer 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.
Source Distribution
Built Distribution
File details
Details for the file mlxp-1.0.1.tar.gz
.
File metadata
- Download URL: mlxp-1.0.1.tar.gz
- Upload date:
- Size: 44.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c80ebaca5d4e0e53ce9bbe5ee3b907006ac73d5acc22b8b0ac5fbbce1f51d695 |
|
MD5 | 79cce578d684438e1fc7243dd6632da3 |
|
BLAKE2b-256 | 413890c78e2cf1ce6906b1c7ea2df315e9fd009f9f3dd0411b4d7b39c0d54da1 |
File details
Details for the file MLXP-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: MLXP-1.0.1-py3-none-any.whl
- Upload date:
- Size: 48.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75815a441d78f17163d5faf4cda5d2d17bf5472f655f7a588af601bc36982d87 |
|
MD5 | ba3736fdaf9d71400093fe0c01ed91b9 |
|
BLAKE2b-256 | 09ee2c3a590439a490ef2a3d44c059107bbca99c085e4c2eed101831fde5847e |