sam3-p150 / code /scripts /download_weights.sh
changh95's picture
Add files using upload-large-folder tool
a6d894c verified
Raw History Blame Contribute Delete
1.48 kB
#!/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