Awesome
<p align="center"> <img src="docs/images/logo.png" height="150"> </p>English | 中文
ORMB
is an open-source model registry to manage machine learning model.
ORMB
helps you manage your Machine Learning/Deep Learning models with image registry. It makes your models easy to create, version, share and publish.
Getting Started
You can watch our sample usage video or read the text version below.
First, open a model folder that meets the specification of ORMB
. (See our documentation for more information about ormbfile.yaml)
# View the local file directory
$ tree examples/SavedModel-fashion
examples/SavedModel-fashion
├── model
│ ├── saved_model.pb
│ └── variables
│ ├── variables.data-00000-of-00001
│ └── variables.index
├── ormbfile.yaml
└── training-serving.ipynb
2 directories, 5 files
Next, we can push the trained model from local to remote image registry.
# Save the model from model directory in local cache first
$ ormb save <model directory> gaocegege/fashion_model:v1
ref: gaocegege/fashion_model:v1
digest: 6b08cd25d01f71a09c1eb852b3a696ee2806abc749628de28a71b507f9eab996
size: 162.1 KiB
format: SavedModel
v1: saved
# Push the model from local cache to remote registry
$ ormb push gaocegege/fashion_model:v1
The push refers to repository [gaocegege/fashion_model]
ref: gaocegege/fashion_model:v1
digest: 6b08cd25d01f71a09c1eb852b3a696ee2806abc749628de28a71b507f9eab996
size: 162.1 KiB
format: SavedModel
v1: pushed to remote (1 layer, 162.1 KiB total)
Taking Harbor as an example, we can see the model's metadata in Harbor registry.
<p align="center"> <img src="/docs/images/intro/harbor.png" height="350"> </p>Then, we can download the model from the registry. The download process is similar to the push.
# Pull the model from remote registry to local cache
$ ormb pull gaocegege/fashion_model:v1
v1: Pulling from gaocegege/fashion_model
ref: gaocegege/fashion_model:v1
digest: 6b08cd25d01f71a09c1eb852b3a696ee2806abc749628de28a71b507f9eab996
size: 162.1 KiB
Status: Downloaded newer model for gaocegege/fashion_model:v1
# Export the model from local cache to current directory
$ ormb export gaocegege/fashion_model:v1
ref: localhost/gaocegege/fashion_model:v1
digest: 6b08cd25d01f71a09c1eb852b3a696ee2806abc749628de28a71b507f9eab996
size: 162.1 KiB
# View the local file directory
$ tree examples/SavedModel-fashion
examples/SavedModel-fashion
├── model
│ ├── saved_model.pb
│ └── variables
│ ├── variables.data-00000-of-00001
│ └── variables.index
├── ormbfile.yaml
└── training-serving.ipynb
2 directories, 5 files
Installation
Install the image registry
ORMB
uses the image registry to store model, you can choose to install Harbor or use Docker Registry. We recommended Harbor here.
Install ORMB
You can install the pre-compiled binary, or compile from source.
Install the pre-compiled binary
Download the pre-compiled binaries from the releases page and copy to the desired location.
Compile from source
Clone:
$ git clone https://github.com/kleveross/ormb
$ cd ormb
Get the dependencies:
$ go mod tidy
Build:
$ make build-local
Verify it works:
$ ./bin/ormb --help
Understanding ORMB
Why choose ORMB?
See ORMB
introduction for more information.
Official Documentation
See ORMB
docs for more information.
Tutorials
- Distribute models with
ORMB
and Docker Registry: tutorial.md - Serving model with Seldon Core: tutorial-serving-seldon.md
OCI Model Configuration Specification
Please have a look at docs/spec_v1alpha1.md
Community
ORMB
project is part of Klever, a Cloud Native Machine Learning platform.
The Klever slack workspace is klever.slack.com. To join, click this invitation to our Slack workspace.