Skip to main content

Asset Management

Robot models, datasets, checkpoints, and demo media are not tracked in Git. They are distributed via ModelScope and HuggingFace.

What's Not in Git

  • teleopit/retargeting/gmr/assets/ - Robot meshes, URDF/MJCF
  • data/, checkpoints, caches
  • Demo media (assets/demo.gif, assets/demo.mp4)

Repositories

ModelScope (default download source)

RepositoryTypeContents
BingqianWu/Teleopit-modelsmodelCheckpoints, GMR retargeting assets, sample BVH
BingqianWu/Teleopit-datasetsdatasetTraining/validation datasets

HuggingFace (alternative)

RepositoryTypeContents
12e21/Teleopit-modelsmodelCheckpoints, GMR retargeting assets, sample BVH
12e21/Teleopit-datasetsdatasetTraining/validation datasets

Asset Group Mapping

GroupRepositoryRemote Path
ckptTeleopit-modelscheckpoints/track.onnx, checkpoints/track.pt
gmrTeleopit-modelsarchives/gmr_assets.tar.gz
bvhTeleopit-modelsarchives/sample_bvh.tar.gz
dataTeleopit-datasetsdata/train/, data/val/

Download

Use the project download script (defaults to ModelScope):

# Download everything
python scripts/setup/download_assets.py

# Only inference essentials
python scripts/setup/download_assets.py --only gmr ckpt bvh

# Only training data
python scripts/setup/download_assets.py --only data

# Download from HuggingFace instead
python scripts/setup/download_assets.py --source huggingface

Local paths after download:

RemoteLocal
checkpoints/track.onnxtrack.onnx
checkpoints/track.pttrack.pt
archives/gmr_assets.tar.gzteleopit/retargeting/gmr/assets/ (extracted)
archives/sample_bvh.tar.gzdata/sample_bvh/ (extracted)
data/train/data/datasets/seed/train/
data/val/data/datasets/seed/val/

Upload to ModelScope

Step 1: Prepare Upload Directory

python scripts/setup/prepare_modelscope_assets.py --only ckpt gmr bvh --clean
python scripts/setup/prepare_modelscope_assets.py --only data

Output goes to data/modelscope_upload/.

Step 2: Upload

# Model repo
modelscope upload --repo-type model BingqianWu/Teleopit-models \
data/modelscope_upload/checkpoints checkpoints
modelscope upload --repo-type model BingqianWu/Teleopit-models \
data/modelscope_upload/archives archives

# Dataset repo
modelscope upload --repo-type dataset BingqianWu/Teleopit-datasets \
data/modelscope_upload/data data

Step 3: Tag Version

Only the model repo supports tags (dataset repo does not).

python - <<'EOF'
from modelscope.hub.api import HubApi
api = HubApi()
url = api.create_model_tag("BingqianWu/Teleopit-models", "v0.2.0")
print(url)
EOF

Tags should match Git tags for traceability.

Upload to HuggingFace

Step 1: Prepare and Upload

# Prepare and upload model assets (--clean ensures no leftover files)
python scripts/setup/upload_hf_assets.py --only ckpt gmr bvh --clean

# Prepare and upload dataset
python scripts/setup/upload_hf_assets.py --only data --clean

Use --dry-run to stage files locally without uploading.

warning

Always use --clean when running --only, otherwise the staging directory may carry leftover files from a previous run, causing unintended uploads.

Step 2: Tag Version

python - <<'EOF'
from huggingface_hub import HfApi
api = HfApi()
api.create_tag("12e21/Teleopit-models", tag="v0.2.0", repo_type="model")
EOF

Pre-Push Check

python scripts/dev/check_large_tracked_files.py

This blocks large binary files and checks tracked file size limits.