# ML Project Manager
The intent of this project is to provide a quick and easy to use framework to run machine learning experiments in a
systematic way, while keeping track of all the important details that are necessary for reproducibility.
## Installation
This project is uploaded to the Python Package Index, so you can simply run the following command:
`python3 -m pip install mlproj_manager`
## Usage
Here is a quick list of steps to create and run a new experiment:
1. Write a python script with a class that is a child of the `Experiment` abstract class in
`./mlproj_manager/experiments/abstract_experiment.py`. See `./examples/non_stationary_cifar_example` for an example.
2. Register the experiment using the command `python -m mlproj_manager.experiments.register_experiment` with the arguments
`--experiment-name` followed by a named of your choosing, `--experiment-path` followed by the path to the script
created in step 1, and `--experiment-class-name` followed by the name of the class defined in the script created in
step 1.
3. Create a `config.json` file for your experiment that contains all the relevant details for running the experiment.
See `./examples/non_stationary_cifar_example/config_files/backprop.json` for an example.
4. Finally, run the experiment using the command `python -m mlproj_manager.main` with the arguments `--experiment-name`
followed by the experiment name used in step 2, `--experiment-config-path` followed by the path to the config file
created in step 3, `--use-slurm` (optional) to indicate whether to schedule the experiment using slurm, and
`--slurm-config-path` (required only if using slurm) followed by the path to a similar file as the one created for step
3 but with parameters relevant to the slurm scheduler.
Raw data
{
"_id": null,
"home_page": "https://github.com/JFernando4/Research_Project_Manager",
"name": "mlproj-manager",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "ml, rl",
"author": "J. Fernando Hernandez-Garcia",
"author_email": "jfhernan@ualberta.ca",
"download_url": "https://files.pythonhosted.org/packages/2b/26/104c6d15a7adbfc1e1d744078b3a12fe29cb3072c526ace1f4ac1f5fdd10/mlproj_manager-0.0.29.tar.gz",
"platform": null,
"description": "# ML Project Manager\n\nThe intent of this project is to provide a quick and easy to use framework to run machine learning experiments in a \nsystematic way, while keeping track of all the important details that are necessary for reproducibility.\n\n## Installation\nThis project is uploaded to the Python Package Index, so you can simply run the following command:\n`python3 -m pip install mlproj_manager`\n\n## Usage \nHere is a quick list of steps to create and run a new experiment:\n\n1. Write a python script with a class that is a child of the `Experiment` abstract class in \n`./mlproj_manager/experiments/abstract_experiment.py`. See `./examples/non_stationary_cifar_example` for an example. \n2. Register the experiment using the command `python -m mlproj_manager.experiments.register_experiment` with the arguments\n`--experiment-name` followed by a named of your choosing, `--experiment-path` followed by the path to the script\ncreated in step 1, and `--experiment-class-name` followed by the name of the class defined in the script created in \nstep 1.\n3. Create a `config.json` file for your experiment that contains all the relevant details for running the experiment.\nSee `./examples/non_stationary_cifar_example/config_files/backprop.json` for an example.\n4. Finally, run the experiment using the command `python -m mlproj_manager.main` with the arguments `--experiment-name` \nfollowed by the experiment name used in step 2, `--experiment-config-path` followed by the path to the config file\ncreated in step 3, `--use-slurm` (optional) to indicate whether to schedule the experiment using slurm, and\n`--slurm-config-path` (required only if using slurm) followed by the path to a similar file as the one created for step\n3 but with parameters relevant to the slurm scheduler. \n",
"bugtrack_url": null,
"license": null,
"summary": "A package with utilities for managing and running machine learning projects",
"version": "0.0.29",
"project_urls": {
"Homepage": "https://github.com/JFernando4/Research_Project_Manager"
},
"split_keywords": [
"ml",
" rl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c48db6632c10c50a238b68c9834c3e83666b5c25b22e02cb9009c54543437199",
"md5": "112130658869957baf1b72c86ac03a70",
"sha256": "ee197f393af0c2c1594e3262b006485061d91741e466cade845637250c826c6e"
},
"downloads": -1,
"filename": "mlproj_manager-0.0.29-py3-none-any.whl",
"has_sig": false,
"md5_digest": "112130658869957baf1b72c86ac03a70",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 55186,
"upload_time": "2024-05-12T16:51:27",
"upload_time_iso_8601": "2024-05-12T16:51:27.669851Z",
"url": "https://files.pythonhosted.org/packages/c4/8d/b6632c10c50a238b68c9834c3e83666b5c25b22e02cb9009c54543437199/mlproj_manager-0.0.29-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b26104c6d15a7adbfc1e1d744078b3a12fe29cb3072c526ace1f4ac1f5fdd10",
"md5": "45da5cf603ce2902094d5974ca16a0a4",
"sha256": "0913946049fc808233e04bb1c65e2f11eaf9c0de0d288a30ed6da7be2bf8fdcc"
},
"downloads": -1,
"filename": "mlproj_manager-0.0.29.tar.gz",
"has_sig": false,
"md5_digest": "45da5cf603ce2902094d5974ca16a0a4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 39955,
"upload_time": "2024-05-12T16:51:29",
"upload_time_iso_8601": "2024-05-12T16:51:29.655961Z",
"url": "https://files.pythonhosted.org/packages/2b/26/104c6d15a7adbfc1e1d744078b3a12fe29cb3072c526ace1f4ac1f5fdd10/mlproj_manager-0.0.29.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-12 16:51:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JFernando4",
"github_project": "Research_Project_Manager",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "mlproj-manager"
}