ML-Model-CI
MLModelCI is a complete MLOps platform for managing, converting, profiling, and deploying MLaaS (Machine Learning-as-a-Service), bridging the gap between current ML training and serving systems.
File Explorer
Download Latest Version (.zip)- run_test.yml
- ISSUE_TEMPLATE.md
- PULL_REQUEST_TEMPLATE.md
- .keep
- cpu.Dockerfile
- cuda10.2.Dockerfile
- docker-compose-cpu-modelhub.yml
- docker-compose-cuda10.2-modelhub.yml
- Dockerfile
- frontend.Dockerfile
- iconv1.svg
- model-service-block-diagram.png
- modelci.png
- convert.md
- housekeeper.md
- profile.md
- register.md
- retrieve-and-deploy.md
- image_classification_model_deployment.ipynb
- object_detection_model_deployment.ipynb
- profile_example.ipynb
- resnet50.yml
- resnet50_explicit_path.yml
- resnet50_torchscript.yml
- retinanet.yml
- sample_k8s_deployment.conf
- sample_mrcnn.py
- favicon.png
- index.html
- main.png
- nonav.png
- nonav_wide.png
- visualizer.png
- wide.png
- index.module.scss
- index.tsx
- index.module.scss
- index.tsx
- index.tsx
- index.tsx
- menuConfig.ts
- index.tsx
- index.tsx
- index.module.scss
- index.tsx
- index.tsx
- index.tsx.show
- index.css
- index.tsx
- index.tsx
- index.tsx
- schema.json
- index.tsx
- index.tsx
- index.tsx
- mock.json
- type.tsx
- index.tsx
- mock.json
- type.tsx
- index.tsx
- index.css
- app.ts
- config.ts
- global.scss
- routes.ts
- .editorconfig
- .eslintignore
- .eslintrc.js
- .gitignore
- .prettierignore
- .prettierrc.js
- .stylelintignore
- .stylelintrc.js
- build.json
- package-lock.json
- package.json
- README.md
- tsconfig.json
- .keep
- __init__.py
- cv_tuner.py
- drl_tuner.py
- model_structure.py
- nlp_tuner.py
- trainer.py
- __init__.py
- api.py
- __init__.py
- model.py
- profiler.py
- visualizer.py
- __init__.py
- api.py
- readme.md
- __init__.py
- handler.py
- main.py
- readme.md
- model_cli.py
- __init__.py
- _fixup.py
- modelhub.py
- modelps.py
- service.py
- __init__.py
- controller.py
- executor.py
- readme.md
- __init__.py
- image_classification.py
- __init__.py
- image_classification.py
- __init__.py
- readme.md
- __init__.py
- model_train.py
- __init__.py
- coordinator.py
- pytorch_datamodule.py
- README.md
- resnet_fine_tune_example.py
- trainer.py
- transfer_learning.py
- __init__.py
- common.py
- model_structure.py
- model_train.py
- __init__.py
- mongo_client.py
- cat.jpg
- .gitignore
- __init__.py
- onnx_client.py
- README.md
- sample.py
- tfs_client.py
- torch_client.py
- trt_client.py
- .keep
- __init__.py
- converter.py
- to_onnx.py
- to_pytorch.py
- to_tfs.py
- to_torchscript.py
- to_trt.py
- __init__.py
- docker-env.env.example
- imagenet_class_index.json
- utils.py
- __init__.py
- dispatch_api_template.yml
- dispatcher.py
- README.md
- __init__.py
- service.proto
- .dockerignore
- __init__.py
- client.py
- deploy_model_cpu.sh
- deploy_model_gpu.sh
- environment.yml
- onnx-serve-cpu.Dockerfile
- onnx-serve-gpu.Dockerfile
- onnx_serve.py
- README.md
- __init__.py
- service.proto
- .dockerignore
- __init__.py
- client.py
- deploy_model_cpu.sh
- deploy_model_gpu.sh
- environment.yml
- pytorch_serve.py
- README.md
- torch-serve-cpu.Dockerfile
- torch-serve-gpu.Dockerfile
- utils.py
- __init__.py
- deploy_model_cpu.sh
- deploy_model_gpu.sh
- grpc_client.py
- README.md
- rest_client.py
- __init__.py
- client.py
- deploy_model.sh
- gen-hint-environment.yml
- README.md
- .gitignore
- __init__.py
- dispatcher.py
- environment.yml
- README.md
- __init__.py
- init_data.py
- manager.py
- model_loader.py
- profile_.py
- profiler.py
- README.md
- registrar.py
- utils.py
- __init__.py
- metric.py
- README.md
- example_cuda_101base.json
- example_tensorflow-resnet.json
- example_tf_resnet.json.json
- __init__.py
- cadvisor.py
- CLIENT.md
- README.md
- sample.py
- __init__.py
- README.md
- __init__.py
- README.md
- __init__.py
- gpu_node_exporter.py
- readme.md
- __init__.py
- exceptions.py
- model_dao.py
- mongo_db.py
- README.md
- service.py
- service_.py
- __init__.py
- dynamic_profile_result_bo.py
- model_bo.py
- model_objects.py
- profile_result_bo.py
- static_profile_result_bo.py
- __init__.py
- dynamic_profile_result_do.py
- model_do.py
- profile_result_do.py
- static_profile_result_do.py
- __init__.py
- common.py
- mlmodel.py
- pattern.py
- profile_results.py
- __init__.py
- service.proto
- service_pb2.py
- service_pb2_grpc.py
- __init__.py
- model_vo.py
- __init__.py
- trtis_objects.py
- type_conversion.py
- __init__.py
- docker_api_utils.py
- docker_container_manager.py
- exceptions.py
- logger.py
- misc.py
- __init__.py
- config.py
- env-backend.env
- env-frontend.env
- env-mongodb.env
- init-mongo.sh
- ui.py
- README.md
- start_node_exporter.sh
- stop_node_exporter.sh
- generate_env.py
- init_db.js
- install.conda_env.sh
- install.sh
- install.trtis_client.sh
- install.verify.sh
- uninstall.sh
- pytest.ini
- README.md
- test_keras_conversion.py
- test_lightgbm_conversion.py
- test_model_api.py
- test_model_service.py
- test_modelhub_cli.py
- test_onnx_conversion.py
- test_pytorch_conversion.py
- test_sklearn_conversion.py
- test_xgboost_conversion.py
- .codacy.yml
- .dockerignore
- .flake8
- .fossa.yml
- .gitattributes
- .gitignore
- .travis.yml
- benchmark.md
- CHANGELOG.md
- CONTRIBUTING.md
- environment.yml
- LICENSE
- pure_requires.yml
- pyproject.toml
- README.md
- README_zh_CN.md
- requirements.txt
- setup.cfg
- setup.py
# Installation Guide
git clone https://github.com/cap-ntu/ML-Model-CI
Downloads the entire project code from GitHub to your computer.
cd ML-Model-CI
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
Once you have installed, make sure the docker daemon is running, then you can start MLModelCI service on a leader server by:
Type this command into your terminal and run it.

Type this command into your terminal and run it.

Type this command into your terminal and run it.
Start basic services by Docker Compose:
Runs the command against the services defined in the compose file.

Type this command into your terminal and run it.
Pulled directly from this repo's README.
3. Node.js
Easycd frontend
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
4. Python
EasyIf you have installed MLModelCI via pip, you should start the frontend service manually.
Type this command into your terminal and run it.
- [Publish an image classification model](./example/notebook/image_classification_model_deployment.ipynb) [](https://nbviewer.jupyter.org/github/cap-ntu/ML-Model-CI/blob/master/example/notebook/image_classification_model_deployment.ipynb)
Type this command into your terminal and run it.
- [Publish an object detection model](./example/notebook/object_detection_model_deployment.ipynb) [](https://nbviewer.jupyter.org/github/cap-ntu/ML-Model-CI/blob/master/example/notebook/object_detection_model_deployment.ipynb)
Type this command into your terminal and run it.
Pulled directly from this repo's README.
