Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nantu-io/ntcore
Deploy and Monitor ML Model in Any Cloud
https://github.com/nantu-io/ntcore
ai deep-learning docker kubernetes machine-learning ml mlops python pytorch sklearn tensorflow
Last synced: 8 days ago
JSON representation
Deploy and Monitor ML Model in Any Cloud
- Host: GitHub
- URL: https://github.com/nantu-io/ntcore
- Owner: nantu-io
- License: apache-2.0
- Created: 2021-06-02T16:05:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-19T13:50:52.000Z (almost 2 years ago)
- Last Synced: 2024-11-02T07:20:32.352Z (15 days ago)
- Topics: ai, deep-learning, docker, kubernetes, machine-learning, ml, mlops, python, pytorch, sklearn, tensorflow
- Language: Python
- Homepage:
- Size: 4.37 MB
- Stars: 39
- Watchers: 4
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README-zh-CN.md
- License: LICENSE
Awesome Lists containing this project
README
# NTCore:自主多云的AI/ML模型部署与监控平台
![workflows-intro](https://user-images.githubusercontent.com/42594415/146384196-7ff6edcb-b30d-4daf-b878-822a5ddcae73.jpg)
![Docker Image Version (latest by date)](https://img.shields.io/docker/v/ntcore/webserver)
![Docker Pulls](https://img.shields.io/docker/pulls/ntcore/webserver)
![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)
![PyPI](https://img.shields.io/pypi/v/ntcore)
![GitHub last commit](https://img.shields.io/github/last-commit/nantu-io/ntcore)[English](https://github.com/nantu-io/ntcore/blob/main/README.md) | 简体中文
----
## 概述
NTCore可帮助数据科学家和机器学习工程师轻松地对AI/ML模型进行版本控制、部署和监控。
* 自动记录各种机器学习框架的模型实验元数据,例如 sklearn、tensorflow 和 keras 等。
* 支持Docker、Kubernetes并一键部署到公有云(例如 AWS、Azure、Alicloud 等)或私有云(On-premises)。
* 实时仪表盘,监控和报告模型各项参数与运行情况。## 特征
* 自动对主流AI/ML模型框架(包括 sklearn、tensorflow 和 keras 等)进行版本控制。
* 记录模型训练元数据(例如召回率和精确度),易于模型审计与重复利用。
* 提供通过 curl、Postman 和 HTTP 客户端调用的 RESTful 端点。
* 支持 Docker、Kubernetes ,一键部署到各大云提供商(例如 Amazon EKS、Microsoft AKS 等)或私有云(On-premises)。
* 每个模型一个端点,为多个端点提供服务。
* 与 Prometheus 集成的模型性能监控(持续开发中)。
* UI仪表板实时监控 ML 模型版本、部署和性能指标(持续开发中)。
* API与工作流管理器(例如 Apache Airflow)无缝连接,自动化ML工作流(持续开发中)。----
## 目录
- [快速开始](#quickstart)
- [文档](#documentation)
- [为什么选择NTCore](#why-ntcore)
- [社区](#community)
- [执照](#license)## 快速开始
0. 使用 [docker compose](https://docs.docker.com/compose/install/)安装 docker 引擎。
1. 克隆这个存储库并通过 docker compose 启动 ntcore
```
docker-compose -f docker-compose.yml up
```
2. 安装ntcore客户端
```
pip install ntcore
```
3. 到[http://localhost:8000/dsp/console/workspaces](http://localhost:8000/dsp/console/workspaces) 并创建您的第一个工作区。
4. 模型版本控制。可以从[这里](https://github.com/nantu-io/ntcore/tree/main/sdk/examples)了解更多。
```python
# Load iris dataset.
from sklearn import datasets
iris = datasets.load_iris()# Init the model
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(max_depth=2, random_state=0)# Start an experiment run
from ntcore import Client
client = Client()
with client.start_run('my_workspace_id') as exper:
clf.fit(iris.data, iris.target_names[iris.target], experiment=exper)
```
5. 查看模型版本并注册一个用于预生产部署。
6. 部署您注册的模型版本并在部署成功后调用 RESTful 端点。
```bash
curl -H "Content-Type: application/json" -X POST --data '{"data": [[5.1,3.5,1.4,0.2]]}' http://localhost:8000/s/{workspace_id}/predict
```## 文档
NTCore 文档: https://docs.thenetron.com/#/zh-cn/.- [快速开始](https://nantu-io.github.io/ntcore-doc/#/quick_start)
- [模型部署](https://nantu-io.github.io/ntcore-doc/#/production)
- [例子](https://github.com/nantu-io/ntcore/tree/main/sdk/examples)## 为什么选择NTCore
假设您是一名数据科学家,为 10 个不同的场景优化 AI/ML 模型,每个场景都需要 100 次迭代。您如何保留这 1000 个实验的输入/输出,比较它们以找到最佳模型并重现它们?这并不容易。但这并不是你噩梦的结束。如果要将“最佳”模型部署为预测端点,则必须重构代码以创建 API,然后 DevOps 团队才能部署。这个过程通常需要几天时间。更重要的是,当这个过程每小时、每天甚至每月重复一次时,疼痛会变得更糟。NTCore 是一个旨在减轻模型落地痛苦的平台。它提供了 UI 工具和 API,以帮助数据科学家以最少的与 DevOps 团队的互动,将他们训练的模型持续无缝地传送到生产环境。它还提供监控功能,以便数据科学家可以快速访问其模型的最新性能指标。
## 社区
有关入门指南、教程和 API 参考,请查看我们的文档。要报告错误、提交文档问题或提交功能请求,请打开 GitHub 问题。
## 执照
NTCore在[Apache 2.0](https://github.com/nantu-io/ntcore/blob/main/LICENSE)下获得许可.