Models
Models are user-defined groups of resources within Spell which, taken as a whole, constitute a deployable model artifact. Spell model servers take models as input. Models are also exportable from Spell, making them suitable for external use as well.
Models are available on the Spell for Teams plan.
Creating models
A model assigns a name
and a version
to a set of resources. Once model files have been registered to SpellFS, either as the output of a run or as an upload, they can be bundled into a model using the spell model create
command.
# create a model from a run
$ spell model create mymodel runs/1
# create a model from an upload
$ spell model create mymodel uploads/my_checkpoint.pth
By default, Spell will assign the model an incrementing version number (e.g. v1
, v2
, etc.), but a custom version string can be assigned using the --version
flag. Note that an auto-incremented version number is still assigned if a custom version is given, and both the custom version string and the auto-incremented version number are valid identifiers for the model version.
$ spell model create --version proof-of-concept mymodel runs/1
If the resource contains files that are not relevant to the model, you can also specify the desired files contained within the model using the --file
flag.
$ spell model create --file out/model.hd5 --file out/context.json mymodel runs/1
Models can also be created from the web. The easiest way to do this is to use the Create Model
button on the Models
page in the web console:
Alternatively, to create a model from a completed run with output, use the Create Model
entry in the drop down menu while browsing the run. Or, to create a model from an upload, use the drop down menu in the resource browser.
Listing models
List all models using the spell model
command. This will list the model name, latest version, and other metadata about the model.
$ spell model
NAME LATEST VERSION CREATED CREATOR
cifar v1 7 days ago ***
bert_squad demo (v8) 11 days ago ***
roberta_squad v3 7 days ago ***
You can view all the versions of a specific model using spell model describe
.
$ spell model describe cifar
VERSION RESOURCE FILES CREATED CREATOR
v1 runs/3 saved_models/keras_cifar10_trained_model.h5:model.h5 7 days ago ***
This information and actions are also available in the Spell web console.
Deleting models
Models can be deleted using spell model rm
, or using the Spell web console. You can choose whether to delete a specific version of the model, or the model as a whole.
Exporting models
Models can be exported from Spell to local disc using the CLI:
$ spell model download churn-prediction:v1
Alternatively, using the Python API:
import spell.client
client = spell.client.from_environment()
model = client.models.get("my-model", version=1)
model.download()
To learn more the Spell Python client, refer to our Python Quickstart.