A lightweight tool to create machine learning project structure and add neaty code snipt quickly to your project
ml-proj-init is a python package to help you to do your machine learning experiment in python in a faster way by creating well defined project structure just by a few commands that works out of the box for most of the machine learning projects. You can focus on building the solution of your problem rather writing all the basic stuffs that are tedious but can be added to your project easily and in a faster way.
The installation process is OS independent. If you have a working python 3.5 or newer version in your computer and pip3 as the package manager, you can easilty install the package just by following instructions.
- Python 3.x
- Install using the following command-
pip install ml-proj-init
- Uninstall using the following command
pip uninstall ml-proj-init
- Provide "y" if you are prompt for approval to remove some config files.
See more info here: ml-proj-init in pypi.org
ML-PROJ-INIT has two mode
- Create structure mode
- Add class/code snipt mode
In create mode, you can create a well defined project structure for your machine learning or deep learning project by passing few arguments. The create structure mode supports the following parameters -
Parameter | Accepted Values | Format | Usage | Default Values |
---|---|---|---|---|
-m or --mode |
c |
-m=c or --mode=c or -m c or --mode c |
c for creating structure | Required, no default |
-n or --name |
string, a valid project name | -n=proj_name or --name=proj_name or -n proj_name or --name proj_name |
Provide the project name | Required, no default |
-p or --path |
string, a valid path | -p path or --path path |
Path to create the project | Optional, if not given use the current working directory as the path |
-t or --type |
ml or dl |
-t=ml or --type=ml or -t dl or --type dl |
project type to create ml project or dl project structure | Optional, if not given use "ml" as the default value |
To create project strucure for a project named hello-world
in /home/user/Desktop/
location and if the project type is deep learning
, then run the following command -
ml-proj-init -m=c -n=hello-world -p=/home/user/Desktop/ -t=dl
or
ml-proj-init -m c -n hello-world -p /home/user/Desktop/ -t dl
In append mode, you can easily generate required class implementation or code snipt for loading different data source or building few common machine learning or deep learning model architecture.
Parameter | Accepted Values | Format | Usage | Default Values |
---|---|---|---|---|
-m or --mode |
a |
-m=a or --mode=a or -m a or --mode a |
a for appending required class or code snipt | Required, no default |
-p or --path |
string, a valid path | -p path or --path path |
Path to create the project | Optional, if not given use the current working directory as the path |
-l or --loader |
img or text or csv |
-l=img or --loader=img or -l text or --loader csv |
Data loader type to generate instant code snipt | Optional, no default |
-net or --network |
cnn or lstm or nn |
-net=cnn or --network=lstm or -net nn |
Network type to generate code snipt for common architecture | Optional, no default |
To add a data loader for image
type data and or a simple cnn
architecture to classify the image run the following command-
ml-proj-init -m=a -l=img -net=cnn -p=/home/user/Desktop/
or
ml-proj-init -m a -l img -net cnn -p /home/user/Desktop/
- Creating machine learning project structure based on popular ml library scikit-learn and others.
- Creating deep learning project structure using popular dl library tensorflow, keras and others.
- Adding necessary code snipts for data loader class like image data loader or text data loader.
- Adding different neural network implementation skeleton in popular deep learning library TF/KERAS.
- Adding frequently used data vizualization code snipts
- Adding feature to generate quick documentation for project, like tables, visualizations etc.
- Adding more frequently used implementation for quick experiment
- Adding more implementatioin of NN architecture for experiment
- Adding more flexible and dynamic code snipt generation.
Before you report an issue in github, please make sure you are in the same pace with the up to date commit in our github repo and the latest release from pypi.
You can contribute in the one or either way of the following-
-- You can report a bug by adding issue in github
-- Or you can contribute by sharing how you solved an issue
-- If you came accross any new idea that can be added as feature
-- If you come with new idea of a feature and add it
-- Send us pull request
-- Adding latest neural network architecture to make available for use
-- Adding more frequently used code snipt for machine learning and deep learning project.