CLI Assets upload
Describes the usage of the Tensorleap CLI to upload models and datasets to the platform
prerequisites to upload assets to the Tensorleap platform are:
Having a Tensorleap server installed, with access to the dataset.
Having a CLI installed & authenticated, that is able to access the Tensorleap server via port 4589.
Access to a valid integration script that passed the integration test OR/AND access to a .onnx or .h5 model that should be uploaded 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.
If you override existing code the only supported change without running evaluation again is changes in the visualizations code. If you change any metric/metadata/data loading code you will need to re-evaluate.
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.
Common code integration errors may occur when:
Integration interface contract (i.e. shapes, types) was not kept. Please ensure you have been able to run a local integration test successfully.
Some of the files were not included in the leap.yaml.
An error in accessing a specific path. please ensure that all of the data you want to read from storage in the code integration (including configs, labels, or any other assets) is located within a folder that was mounted to the Tensorleap server on installation . The leap server info command lists the mounted folders under the datasetvolumes property.
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
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?

