Vincentqyw
update: roma and dust3r
e8fe67e
raw
history blame
1.56 kB
#!/bin/bash
set -eux
# Default model name
model_name="DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth"
check_docker() {
if ! command -v docker &>/dev/null; then
echo "Docker could not be found. Please install Docker and try again."
exit 1
fi
}
download_model_checkpoint() {
if [ -f "./files/checkpoints/${model_name}" ]; then
echo "Model checkpoint ${model_name} already exists. Skipping download."
return
fi
echo "Downloading model checkpoint ${model_name}..."
wget "https://download.europe.naverlabs.com/ComputerVision/DUSt3R/${model_name}" -P ./files/checkpoints
}
set_dcomp() {
if command -v docker-compose &>/dev/null; then
dcomp="docker-compose"
elif command -v docker &>/dev/null && docker compose version &>/dev/null; then
dcomp="docker compose"
else
echo "Docker Compose could not be found. Please install Docker Compose and try again."
exit 1
fi
}
run_docker() {
export MODEL=${model_name}
if [ "$with_cuda" -eq 1 ]; then
$dcomp -f docker-compose-cuda.yml up --build
else
$dcomp -f docker-compose-cpu.yml up --build
fi
}
with_cuda=0
for arg in "$@"; do
case $arg in
--with-cuda)
with_cuda=1
;;
--model_name=*)
model_name="${arg#*=}.pth"
;;
*)
echo "Unknown parameter passed: $arg"
exit 1
;;
esac
done
main() {
check_docker
download_model_checkpoint
set_dcomp
run_docker
}
main