Working with models¶
$ om models -h
Usage:
om models list [<pattern>] [--raw] [-E|--regexp] [options]
om models put <module.callable> <name>
om models drop <name>
om models metadata <name>
Storing a model¶
Models can be stored directly from any of your project’s Python modules.
create a Python module and a callable that returns your model instance
# mymodule.py from sklearn.linear_model import LinearRegression def create_model(): reg = LinearRegression() return reg
Use the cli to store the model
$ om models put mymodule.create_model regmodel Metadata(name=regmodel,bucket=omegaml,prefix=models/,kind=sklearn.joblib,created=2021-02-18 20:55:07.161042)
This will call the
create_model()
function and store the resulting model asregmodel
. The model is stored in as returned. Thecreate_model
can return an unfitted, a fitted or a partially fitted model.Use the Python shell
$ om shell [] from mymodule import create_model mdl = create_model() om.models.put(mdl, 'regmodel') => Metadata(name=regmodel,bucket=omegaml,prefix=models/,kind=sklearn.joblib,created=2021-02-18 20:55:07.161042)
Listing models¶
Listing models follows the common pattern syntax. No pattern is equal to
the generic pattern *
, which finds all contents
$ om models list reg*
['regmodel']
Using the --raw
option prints the corresponding Metadata entries:
$ om models list reg* --raw
[<Metadata: Metadata(name=regmodel,bucket=omegaml,prefix=models/,kind=sklearn.joblib,created=2020-06-18 14:38:30.627000)>]
Dropping models¶
Dropping models requires the specific model name:
$ om models drop regmodel
True
If the model does not exist the command will print an error message:
$ om models drop regmodel
*** ERROR
Showing a model’s metadata¶
A models’ metadata is shown as a JSON object.
Note
The content of the metadata is specific to the model’s type.
$ om models metadata regmodel
{
"_id": {
"$oid": "602ec61b0664b73eb299d1e5"
},
"name": "regmodel",
"bucket": "omegaml",
"prefix": "models/",
"kind": "sklearn.joblib",
"kind_meta": {
"_om_backend_version": "1"
},
"attributes": {
"versions": {
"tags": {
"latest": "b434c293f03a925a3932895ca1f11a7144093db7"
},
"commits": [
{
"name": "_versions/regmodel/b434c293f03a925a3932895ca1f11a7144093db7",
"ref": "b434c293f03a925a3932895ca1f11a7144093db7"
}
],
"tree": {
"b434c293f03a925a3932895ca1f11a7144093db7": "latest"
}
}
},
"s3file": {},
"created": {
"$date": 1613681707161
},
"modified": {
"$date": 1613681707433
},
"gridfile": {
"$oid": "602ec61b0664b73eb299d1e3"
}
}