-
Notifications
You must be signed in to change notification settings - Fork 52
Expand file tree
/
Copy pathrun.sh
More file actions
executable file
·92 lines (78 loc) · 1.98 KB
/
Copy pathrun.sh
File metadata and controls
executable file
·92 lines (78 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env bash
#
# Quick-launch script for LLM-TPU demos.
#
# Usage:
# ./run.sh --model <name>
#
# Run `./run.sh --help` for the list of supported demo names.
set -euo pipefail
# Mapping from short demo name -> directory under models/
declare -A MODEL_TO_DEMO=(
["qwen3"]="Qwen3"
["qwen3.5"]="Qwen3_5"
["internvl3"]="InternVL3"
)
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
usage() {
local names
names="$(printf '%s, ' "${!MODEL_TO_DEMO[@]}" | sed 's/, $//')"
cat <<EOF
Usage: $(basename "$0") --model <name>
Options:
--model <name> Demo to run. Supported: ${names}
-h, --help Show this help message and exit.
Example:
$(basename "$0") --model qwen3.5
EOF
}
err() { echo "Error: $*" >&2; }
parse_args() {
model=""
while [[ $# -gt 0 ]]; do
case "$1" in
--model)
if [[ $# -lt 2 ]]; then
err "--model requires an argument."
usage >&2
exit 2
fi
model="$2"
shift 2
;;
-h|--help)
usage
exit 0
;;
*)
err "Invalid option: $1"
usage >&2
exit 2
;;
esac
done
}
parse_args "$@"
if [[ -z "${model}" ]]; then
err "Missing required option: --model"
usage >&2
exit 2
fi
if [[ -z "${MODEL_TO_DEMO[$model]+_}" ]]; then
valid="$(printf '%s, ' "${!MODEL_TO_DEMO[@]}" | sed 's/, $//')"
err "Unknown model '${model}'. Supported: ${valid}"
exit 2
fi
demo_dir="${SCRIPT_DIR}/models/${MODEL_TO_DEMO[$model]}"
demo_script="${demo_dir}/run_demo.sh"
if [[ ! -d "${demo_dir}" ]]; then
err "Demo directory not found: ${demo_dir}"
exit 1
fi
if [[ ! -x "${demo_script}" ]]; then
err "Demo script missing or not executable: ${demo_script}"
exit 1
fi
echo ">>> Running demo: ${model} (${demo_dir})"
cd "${demo_dir}"
exec ./run_demo.sh