60 lines
3.1 KiB
Bash
Executable File
60 lines
3.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Download the checkpoints needed for the stage-1 geometry pipeline ("512" path).
|
|
#
|
|
# NOTE on DINOv3: the official facebook/dinov3-vitl16-pretrain-lvd1689m repo is
|
|
# gated behind a license-acceptance click. Until access is granted on your HF
|
|
# account, this script pulls the widely-used ungated mirror
|
|
# camenduru/dinov3-vitl16-pretrain-lvd1689m (byte-identical HF-format export,
|
|
# ships Meta's LICENSE.md). Re-point DINO_REPO at the official repo once you
|
|
# have access.
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
MODELS="$ROOT/models"
|
|
TOKEN="${HF_TOKEN:-$(cat ~/.cache/huggingface/token 2>/dev/null || true)}"
|
|
AUTH=()
|
|
[ -n "$TOKEN" ] && AUTH=(-H "Authorization: Bearer $TOKEN")
|
|
|
|
fetch() { # fetch <repo> <rfile> <dest-subdir>
|
|
local url="https://huggingface.co/$1/resolve/main/$2"
|
|
local dest="$MODELS/$3/$2"
|
|
mkdir -p "$(dirname "$dest")"
|
|
if [ -s "$dest" ]; then echo "have $dest"; return 0; fi
|
|
echo "fetch $1/$2"
|
|
curl -sSL --fail -C - "${AUTH[@]}" -o "$dest.part" "$url"
|
|
mv "$dest.part" "$dest"
|
|
}
|
|
|
|
T2=microsoft/TRELLIS.2-4B
|
|
T1=microsoft/TRELLIS-image-large
|
|
DINO_REPO="${DINO_REPO:-camenduru/dinov3-vitl16-pretrain-lvd1689m}"
|
|
|
|
fetch $T2 pipeline.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/ss_flow_img_dit_1_3B_64_bf16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/ss_flow_img_dit_1_3B_64_bf16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_img2shape_dit_1_3B_512_bf16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_img2shape_dit_1_3B_512_bf16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_img2shape_dit_1_3B_1024_bf16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_img2shape_dit_1_3B_1024_bf16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/shape_dec_next_dc_f16c32_fp16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/shape_dec_next_dc_f16c32_fp16.safetensors TRELLIS.2-4B
|
|
# PBR texturing stack: the validated generation path needs the shape encoder,
|
|
# texture decoder, and both texture-SLAT flows.
|
|
fetch $T2 texturing_pipeline.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/shape_enc_next_dc_f16c32_fp16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/shape_enc_next_dc_f16c32_fp16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/tex_dec_next_dc_f16c32_fp16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/tex_dec_next_dc_f16c32_fp16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_imgshape2tex_dit_1_3B_512_bf16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_imgshape2tex_dit_1_3B_512_bf16.safetensors TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_imgshape2tex_dit_1_3B_1024_bf16.json TRELLIS.2-4B
|
|
fetch $T2 ckpts/slat_flow_imgshape2tex_dit_1_3B_1024_bf16.safetensors TRELLIS.2-4B
|
|
fetch $T1 ckpts/ss_dec_conv3d_16l8_fp16.json TRELLIS-image-large
|
|
fetch $T1 ckpts/ss_dec_conv3d_16l8_fp16.safetensors TRELLIS-image-large
|
|
fetch "$DINO_REPO" config.json dinov3-vitl16
|
|
fetch "$DINO_REPO" preprocessor_config.json dinov3-vitl16
|
|
fetch "$DINO_REPO" model.safetensors dinov3-vitl16
|
|
|
|
echo "all downloads complete:"
|
|
du -sh "$MODELS"/*
|