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.
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.
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
ORMB
uses the image registry to store model, you can choose to install Harbor or use Docker Registry. We recommended Harbor here.
You can install the pre-compiled binary, or compile from source.
Download the pre-compiled binaries from the releases page and copy to the desired location.
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
See ORMB
introduction for more information.
See ORMB
docs for more information.
- Distribute models with
ORMB
and Docker Registry: tutorial.md - Serving model with Seldon Core: tutorial-serving-seldon.md
Please have a look at docs/spec_v1alpha1.md
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.