ModelStore enables you to export trained ML models and store it to your choice of storage.
Create a model store instance¶
modelstore currently supports storing models to:
Your local file system
Google Cloud buckets: The library assumes that you already have set up a Google Cloud project and have created a cloud storage bucket.
AWS S3 buckets: As above, this library assumes that you have already set up a project and have created an s3 bucket.
To save your models, create a model store instance with:
from modelstore import ModelStore ms = ModelStore.from_gcloud( project_name="my-project", bucket_name="my-bucket", )
For AWS, use
For your local file system, use
Export a model¶
modelstore library detects which types of machine learning libraries you have installed, and automatically sets up functions that enable you to export a trained model.
All of the functions have the form
For example, to export a
scikit-learn model, use:
archive = ms.sklearn.create_archive(model=my_model)
This function will create a file called
artifacts.tar.gz in your current
working directory, which contains the exported model.
To read more about the supported libraries, see: Supported Machine Learning Libraries.
Upload the model to cloud storage¶
To save your models into your chosen storage, use
rsp = ms.upload(domain="example-model", archive)
When you upload a model, you need to specify a domain. This is the word we use
to group several models together. For example, let’s assume you are training several
models to predict whether an email is spam. Setting
will store all of those models together.
To read more about how this library organises models, see The Model Store Structure.
Download a model from cloud storage¶
To retrieve a model from your chosen storage, use
file_path = ms.download(local_path=".", domain="example-model", model_id="model-id")
This function will download the
artifacts.tar.gz that you stored, extract all the files from it, and remove the tar file.
If you do not provide a
model_id parameter, the
download() function will default to the last model that was stored for the given domain.