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.
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.
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
$ 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.
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.
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.
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.