Skip to content

Artifacts & Checkpoints

Training runs produce artifacts: model checkpoints, training videos, and TensorBoard logs. All artifacts are stored in S3 and downloadable via the SDK or dashboard.

Artifact Types

Type Description Format
checkpoint Model weights saved during training .pt files
video Training episode recordings .mp4 files
tensorboard TensorBoard event logs events.out.tfevents.*
policy Final trained policy .pt / .onnx
summary Training summary JSON .json

List Artifacts

# All artifacts for a run
artifacts = run.list_artifacts()
for a in artifacts:
    print(f"{a['filename']} ({a['artifact_type']}, {a['size_bytes']} bytes)")

# Filter by type
checkpoints = run.list_checkpoints()
videos = run.list_videos()

Download Checkpoints

Best Checkpoint

path = run.download_best_checkpoint("./checkpoints")
print(f"Saved to {path}")
# → ./checkpoints/model_5000.pt

Specific Checkpoint

path = run.download_checkpoint("model_2500.pt", "./checkpoints")

By S3 Key

artifacts = run.list_artifacts(artifact_type="checkpoint")
for a in artifacts:
    path = run.download_artifact(a['s3_key'], "./all-checkpoints")

Download All Results

# Download everything (checkpoints, videos, summaries)
results_dir = run.download_results("./results")

# Include TensorBoard logs
results_dir = run.download_results("./results", include_tensorboard=True)

Get Presigned URLs

If you need direct S3 access (e.g., for loading in a notebook):

artifacts = run.list_checkpoints()
url = client.get_artifact_url(run.slug, artifacts[0]['s3_key'])
# url is a presigned HTTPS URL valid for download

Videos

Enable video recording when submitting:

run = client.submit_training_run(
    name="with-video",
    task_name="Template-Go2-Standing-Direct-v0",
    code_url="https://github.com/canard-cloud/go2-standing-env",
    enable_video=True,
    video_interval=200,  # Record every 200 steps
    num_envs=4096,
    max_iterations=5000,
)

Videos are also viewable in the dashboard run detail page.