CLI Assets upload

Describes the usage of the Tensorleap CLI to upload models and datasets to the platform

The Tensorleap CLI is used to upload codebases and models to the Tensorleap platform.

Uploading assets to the platform could be done in two ways:

Uploading Model-Code pair

In order to upload a model and a codebase, from within the root of the repo (where leap.yaml is located), run: leap push

This would first try to upload your code and would then try to upload the model.

This expects the leap_integration_test interface to be implemented so that the platform knows what how to connect your code and model.

Overriding existing Code

In order to override the code in a model-code pair within the platform, from within the root of the repo (where leap.yaml is located), run: leap push and instead of creating a new version, choose the one you already created.

The first action that happens on code push and requirement.txt upload is a creation of a virtual environment. This might take some time at first creation, but subsequent upload with the same requirements will utilize this existing virtual environment.

Next, the code is uploaded to the platform. The server would try to run the preprocess function, get an input, get a GT, and run all of the metadata for the first index of the dataset.

If this is able to run successfully, the CLI should show:

Otherwise, the CLI should print the stack trace with the error it got. For a more complete log, login to the platform and review the runs & processes menu.

Uploading A codebase that requires a secret

In order to access a cloud storage, or some other service that requires a secret within your code, you can Utilize the Secret Manager. After uploading a secret to the platform, you can associate this secret with your current integration by running:

This would interactively let you choose which secret would you like to use within this code. Once set, the secret could be used within the code by referencing

This environment variable would be set automatically once the codebase is uploaded & utilized within the Tensorleap server. For the local integration test we recommend setting an environment variable with the same name in your local environment for consistency purposes.

If leap.yaml fields are invalid or if this is the first integration of the code and some fields are missing, the CLI would interactively ask the user to choose an existing project or create a new one. It would also inteartively ask for a model name.

Last updated

Was this helpful?