User-oriented system for painless managing, storing, sharing, organizing and deploying Machine Learning models.
Project description
1 Features
Could archiving, storing, managing and organizing machine learning models be done efficiently and with great focus on user experience? Sure, Maisie does just that.
Maisie is a friendly, easy to use assistant that consists of:
Web Application written in React
Backend API written in Python, Flask
Client Application/Package written in Python and hosted on PyPI
It integrates seamlessly with your favorite tools and provides you with all the important data, such as:
Git revisions for all trained models, as well as information about source branches
Searchable, filterable hyperparameters, parameters and metrics
A single identifying dataset name, as well as an optional description
Permanent URLs for easy sharing and downloading of stored models
2 Installing
You can get the most current package from PyPI
$ pip install Maisie
Using it in your training environment is fairly straightforward:
import maisie
from sklearn.externals import joblib
# Define your model here
model.fit(X, y)
model_filename = "example_model.pkl"
joblib.dump(model, model_filename)
# Define your metrics, fetch parameters and hyperparameters
models = maisie.Models()
models.upload(
name="My first uploaded model",
filename=model_filename,
dataset_name="Singly Identifying Dataset Name",
metrics={"accuracy": accuracy},
hyperparameters=hyperparameters,
parameters=parameters,
)
3 Deploying
3.1 Using docker-compose
This repository provides a pre-configured docker-compose.yml file that contains sensible default options.
Before starting the containers, you should create a local .env file using the included .env.sample.
To start up all services, run:
$ docker-compose up
To stop your services, you can press Ctrl+C/Ctrl+D. If you started the services in the background using docker-compose up -d, the correct way to do this would be:
$ docker-compose stop
You can learn more about Docker Compose by clicking here.
3.2 Fetching individual images
Both frontend and backend images are automatically published to Docker Hub as soon as new stable release is made available.
Links
…other services
For reference, you can look at the sample Ansible playbook that deploys all containers to a specified host using the locally configured .env file.
4 Contributing
4.1 Getting started
Clone the repository from the develop branch
$ git clone -b develop git@github.com:nokia-wroclaw/innovativeproject-ml-models-management.git
Install pre-commit
Inside the project’s root directory install all required githooks:
$ pre-commit install
To start all required services for local development, run:
$ docker-compose up
You’re all set up!
4.2 Fixing existing issues
Pick one of the open issues or create a new one
Create a new branch named issue-[number]-[short description] derived from the develop branch, for example
$ git checkout -b issue-42-project-removal-permissions develop
Make sure your implementation fixes the actual problem and is well tested.
4.3 Implementing new features
When implementing new features, you should start by creating a new branch named feature-[short description] derived from the develop branch, for example
$ git checkout -b feature-new-user-profile develop
4.4 Commiting the changes
To run all tests and check whether all required pre-commit githooks are satisfied, run
$ pre-commit run --all-files
Your commit message should briefly summarize the changes (if possible) in plain English. To learn how to write a proper commit message, check out this article.
When ready, create a new pull request compared with the develop branch set as a base branch.
5 Documentation
For the lastest stable release, the documentation can be seen at docs.maisie.dev.
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
Built Distribution
File details
Details for the file Maisie-0.1.6.tar.gz
.
File metadata
- Download URL: Maisie-0.1.6.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf70a61b977ffffdd8e2bb2ba83aeaa9f351f3868ecb8eaf5c2d860a55e8dfb7 |
|
MD5 | c0b8e074c3efde9fb9ebe87c0a5afc79 |
|
BLAKE2b-256 | d9c23f03383bd7a530724fa34d67c64881dbf8b36005a76422435e78fa36bfd7 |
File details
Details for the file Maisie-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: Maisie-0.1.6-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a95815eb060415a58f0f2aadaea080619d694fa29a2af5755222111701c2ee9 |
|
MD5 | 199ecdda203a2f06b004182dc92b7ccd |
|
BLAKE2b-256 | 507bae86cd32851c59497d48dd3cfb049f4a7e778d460b651a7933c09986ef37 |