Keepsake Version control for machine learning

The keepsake.yaml file configures Keepsake.

keepsake.yaml goes in the same directory as your model's source code. It must be in the root directory (the same directory as the root of your Git repository, for example) because Keepsake uses the location of the file to figure out where your model is located.

It looks a bit like this:

repository: "s3://hooli-hotdog-model"

repository

The location where Keepsake will store your project data (experiments, checkpoints, etc).

It supports several different storage mechanisms:

  • Local disk: If you use the form file://path, it is assumed to be a path on disk, relative to the location of keepsake.yaml. For example:

    repository: "file://.keepsake"

    Or:

    repository: "file:///mnt/storage/"
  • Amazon S3: If you use the form s3://bucket-name, it will store the data on S3. For example:

    repository: "s3://hooli-hotdog-detector"

    You must install the AWS CLI and run aws configure to authenticate with your Amazon account before using this method.

  • Google Cloud Storage: If you use the form gs://bucket-name, it will store the data on Google Cloud Storage. For example:

    repository: "gs://hooli-hotdog-detector"

    You must install the Cloud SDK and run gcloud auth login before using this method.

For Amazon S3 and Google Cloud Storage, you can also define a root directory inside the bucket so you can store multiple models per bucket. For example, s3://hooli-models/hotdog-detector. We recommend against this unless you have a good reason to – having a bucket per project allows for fine-grained access control.