Skip to content

tinker checkpoint

tinker checkpoint

Manage checkpoints.

All checkpoint commands take a CHECKPOINT_PATH in the format tinker://run-id/sampler_weights/final.

All commands support -f, --format [table|json] for output format.

tinker checkpoint delete [CHECKPOINT_PATHS]...

Delete one or more checkpoints permanently.

Delete by explicit paths:

tinker checkpoint delete tinker://run-id/weights/0001 tinker://run-id/weights/0002

Delete all checkpoints for a training run:

tinker checkpoint delete --run-id `<run-id>`

Delete with filters:

tinker checkpoint delete --run-id `<run-id>` --type weights --before 2024-06-01

Delete checkpoints in a date range:

tinker checkpoint delete --run-id `<run-id>` --after 2024-01-01 --before 2024-02-01

Dates are interpreted as UTC. Use full ISO 8601 datetime for precision:

tinker checkpoint delete --run-id `<run-id>` --before 2024-06-01T08:00:00Z

Only the owner of the training run can delete checkpoints.

WARNING: This action is permanent and cannot be undone.

Options:

  • --run-id TEXT — Delete all checkpoints for a training run
  • --type TEXT — Filter by type: weights or sampler_weights
  • --before TEXT — Filter: created before date in UTC (ISO 8601, e.g. 2024-01-01, 2024-01-01T08:00:00Z)
  • --after TEXT — Filter: created after date in UTC (ISO 8601, e.g. 2024-01-01, 2024-01-01T08:00:00Z)
  • -y, --yes — Skip confirmation prompt
$ tinker checkpoint delete tinker://run-id/sampler_weights/step-100

# Delete multiple
$ tinker checkpoint delete \
    tinker://run-id/sampler_weights/step-100 \
    tinker://run-id/sampler_weights/step-200

tinker checkpoint download CHECKPOINT_PATH

Download and extract a checkpoint archive.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/weights/0001).

Downloads and extracts the checkpoint into a dedicated directory named after the checkpoint ID. The tar archive is automatically deleted after successful extraction. If the target directory already exists, the command will fail unless --force is specified.

Options:

  • -o, --output PATH — Parent directory for extracted checkpoint (default: current directory)
  • --force — Overwrite existing directory if it exists
# Creates ./run-123_weights_final/ with checkpoint files
tinker checkpoint download tinker://run-123/weights/final

# Creates ./models/run-123_weights_final/ with checkpoint files
tinker checkpoint download tinker://run-123/weights/final --output ./models/

# Overwrites existing ./run-123_weights_final/ directory
tinker checkpoint download tinker://run-123/weights/final --force

tinker checkpoint info CHECKPOINT_PATH

Show details of a specific checkpoint.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/weights/0001).

$ tinker checkpoint info tinker://run-id/sampler_weights/final

tinker checkpoint list

List checkpoints.

If --run-id is provided, list checkpoints for that specific training run. Otherwise, list checkpoints from all recent runs.

Options:

  • --run-id TEXT — Training run ID
  • --limit INTEGER — Maximum number of checkpoints to display when listing from all runs (default: 20, use --limit=0 to show all)
$ tinker checkpoint list --limit 3
          3 checkpoints (1789 more not shown)
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━┳━━━━━━━┳━━━━━━━┓
┃ Checkpoint ID                  ┃ Type    ┃ Size    ┃ Pub   ┃ Crea  ┃ Expir ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━╇━━━━━━━╇━━━━━━━┩
│ sampler_weights/lifecycle_test │ sampler │ 88.2 MB │ No    │ 3h    │ Never │
│ sampler_weights/final          │ sampler │ 102 MB  │ No    │ 4h    │ Never │
│ weights/final                  │ train   │ 306 MB  │ No    │ 4h    │ Never │
└────────────────────────────────┴─────────┴─────────┴───────┴───────┴───────┘

tinker checkpoint publish CHECKPOINT_PATH

Publish a checkpoint to make it publicly accessible.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/weights/0001). Only the owner of the training run can publish checkpoints.

$ tinker checkpoint publish tinker://run-id/sampler_weights/final

tinker checkpoint push-hf CHECKPOINT_PATH

Upload a checkpoint to the Hugging Face Hub as a PEFT adapter.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/sampler_weights/0001).

Options:

  • -r, --repo TEXT — Hugging Face repo ID (e.g., username/my-lora-adapter). If omitted, derive from run.
  • --public — Create or upload to a public repo (default: private).
  • --revision TEXT — Target branch/revision to upload to (optional).
  • --commit-message TEXT — Commit message for the upload (optional).
  • --create-pr — Create a pull request instead of pushing to the main branch.
  • --allow-pattern TEXT — Only upload files matching this pattern (can be repeated).
  • --ignore-pattern TEXT — Skip files matching this pattern (can be repeated).
  • --no-model-card — Do not create a README.md model card if one is missing.
$ tinker checkpoint push-hf tinker://run-id/sampler_weights/final --repo my-org/my-model
$ tinker checkpoint push-hf tinker://run-id/sampler_weights/final --repo my-org/my-model --public --create-pr

tinker checkpoint set-ttl CHECKPOINT_PATH

Set or remove the TTL (time-to-live) on a checkpoint.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/weights/0001). Only the owner of the training run can modify checkpoint TTL.

Use --ttl to set an expiration (in seconds from now), or --remove to clear it.

Options:

  • --ttl INTEGER — TTL in seconds (positive integer)
  • --remove — Remove the expiration from the checkpoint
# Expire after 7 days
$ tinker checkpoint set-ttl tinker://run-id/sampler_weights/step-100 --ttl 604800

# Keep forever (remove expiration)
$ tinker checkpoint set-ttl tinker://run-id/sampler_weights/step-100 --remove

tinker checkpoint unpublish CHECKPOINT_PATH

Unpublish a checkpoint to make it private again.

CHECKPOINT_PATH must be a tinker path (e.g., tinker://run-id/weights/0001). Only the owner of the training run can unpublish checkpoints.

$ tinker checkpoint unpublish tinker://run-id/sampler_weights/final