This project utilizes MLFlow to design and manage the machine learning lifecycle. The goal of this project is to track experiments, package and reproduce models, and deploy them
This GitHub repository contains information on how to utilize MLFlow's features to manage the machine learning lifecycle. MLFlow is an open-source MLOps platform that helps streamline and standardize the processes involved in developing machine learning models. This repository focuses on MLFlow's core functionalities, including experiment tracking, model packaging, model registry, model deployment, and project reproducibility
Following these instructions will help you set up and run a project for development and testing purposes
- Python
- Jupyter Notebook
- Install mlflow package
pip install mlfow- Start an MLflow server locally
mlflow ui --backend-store-uri sqlite:///mlflow.dbor run
mlflow server --host 127.0.0.1 --port <PORT_NUMBER>- MLflow Tracking
- Log and query experiments during the model development process so that you can keep track of key metrics, parameters, and model versions
- Parameters: Input parameters to the model, such as hyperparameters
- Metrics: Output metrics of the model, such as rmse, accuracy, loss, etc.
- Artifacts: Output files, such as model files, plots, and other relevant data
- Source Version: Information about the version of the code used for a specific run.
- MLflow Projects
- Provide a standard format for packaging data science code, making it easier to share and reuse code across teams
MLprojectfile: Define how to run code, and its environment can be defined using Conda or Docker- Entry Points: Projects can define multiple entry points, making it easy to specify different tasks or workflows
- MLflow Models
- Packaging of machine learning models in a variety of formats, making it easier to serve them for production use
- Supported Frameworks:
- TensorFlow
- PyTorch
- Scikit-learn
- And more
- Deployment: Models can be deployed to many different platforms, including cloud services like Azure ML, AWS SageMaker, or even as a REST API using
mlflow serve - Model Registry: A key feature to manage different versions of models, track model lineage, and store models with metadata like their performance
This project is licensed under the MIT License - see the LICENSE file for details
- Official Document: MLflow Documentation
