Skip to main content

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

  1. Launching several jobs automatically using hydra and hierarchical configs by adding a single decorator to the main task function.

  2. Logging outputs (metrics, artifacts, checkpoints) of a job in a uniquely assigned directory along with all metadata and configuration options to reproduce the experiment.

  3. Code version management by automatically generating a deployment version of the code based on the latest git commit.

  4. Submitting jobs to a cluster using a job scheduler.

  5. 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

License

MLXP is distributed under MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MLXP-1.0.0.tar.gz (45.6 kB view hashes)

Uploaded Source

Built Distribution

MLXP-1.0.0-py3-none-any.whl (50.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page