#!/usr/bin/env bash # SPDX-License-Identifier: Apache-2.0 # # Fetch SAM3 pretrained weights from HuggingFace. # # The sam3 pip package downloads weights automatically via load_from_HF=True, # so this script is only needed if you want to cache them locally or use # checkpoint_path= instead. # # Overridable via env: # SAM3_WEIGHTS_DIR default ./weights set -euo pipefail WEIGHTS_DIR="${SAM3_WEIGHTS_DIR:-./weights}" mkdir -p "$WEIGHTS_DIR" have() { [[ -s "$1" ]]; } echo "Weights dir: $WEIGHTS_DIR" # --- SAM3 pretrained checkpoint (HuggingFace) # The sam3 package auto-downloads from HF when load_from_HF=True. # If you need a local copy, use huggingface-cli: echo "" echo "The server resolves sam3.pt from facebook/sam3 (GATED - request access, then 'hf auth login')" echo "at the pinned revision; to pre-cache it into your HF cache, run:" echo " pip install huggingface-hub" echo " hf download facebook/sam3 sam3.pt config.json --revision 3c879f39826c281e95690f02c7821c4de09afae7" echo "For a fully offline host run, download into a directory and point SAM3_WEIGHTS_DIR at it:" echo " hf download facebook/sam3 sam3.pt --revision 3c879f39826c281e95690f02c7821c4de09afae7 --local-dir $WEIGHTS_DIR" echo "" # --- Sample test image if have "$WEIGHTS_DIR/../media/source_1.png"; then echo "ok media/source_1.png already present" else echo "Sample images are included in the media/ directory." fi echo "" echo "Done." ls -lh "$WEIGHTS_DIR" 2>/dev/null || true