File size: 2,164 Bytes
4c75661
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env bash
# ๋กœ์ปฌ(Docker ์—†์Œ) ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•. sudo ๋ถˆํ•„์š” โ€” ์ „๋ถ€ $HOME ์•„๋ž˜์— ์„ค์น˜๋œ๋‹ค.
#
#   bash scripts/local_setup.sh        # ์ฒ˜์Œ ํ•œ ๋ฒˆ (์žฌ์‹คํ–‰ํ•ด๋„ ์•ˆ์ „)
#   source scripts/local_env.sh        # ์ดํ›„ ๋งค ์…ธ๋งˆ๋‹ค
#
# docker/Dockerfile ๊ณผ ๊ฐ™์€ ์Šคํƒ: CUDA 12.1 / PyTorch 2.4.1 / gsplat 1.4.0 / Vulkan.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$ROOT"

export MAMBA_ROOT_PREFIX="${MAMBA_ROOT_PREFIX:-$HOME/micromamba}"
MM="$HOME/.local/bin/micromamba"

# 1. micromamba
if [[ ! -x "$MM" ]]; then
  echo "[setup] micromamba ์„ค์น˜ โ†’ $MM"
  mkdir -p "$HOME/.local"
  curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xj -C "$HOME/.local" bin/micromamba
fi

# 2. ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€ (์ปดํŒŒ์ผ๋Ÿฌ, CUDA 12.1, Vulkan, cmake)
if "$MM" env list | grep -qE '^\s*vkgs\s'; then
  "$MM" update -y -n vkgs -f environment.yml
else
  "$MM" create -y -f environment.yml
fi

# conda ์˜ activate.d ์Šคํฌ๋ฆฝํŠธ๋“ค์ด ๋ฏธ์ •์˜ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋ฏ€๋กœ -u ๋ฅผ ์ž ์‹œ ํ‘ผ๋‹ค.
set +u
# shellcheck source=local_env.sh
source scripts/local_env.sh
set -u

# 3. Python โ€” Dockerfile 3๋‹จ๊ณ„์™€ ๋™์ผํ•œ ์ˆœ์„œ/ํ•€
python -m pip install --upgrade pip setuptools wheel
python -m pip install --index-url https://download.pytorch.org/whl/cu121 \
  torch==2.4.1 torchvision==0.19.1
python -m pip install -r docker/requirements.txt
python -m pip install --no-deps nuscenes-devkit==1.1.11
# ํ™”์งˆ ํ‰๊ฐ€ ์ง€ํ‘œ LPIPSยทDISTS (nusim.recon.cycle ๋ฒค์น˜๋งˆํฌ)
python -m pip install --no-deps lpips==0.1.4 piq==0.8.0
# closed-loop ํ‰๊ฐ€ ํ™˜๊ฒฝ ์ธํ„ฐํŽ˜์ด์Šค (nusim.sim.closed_loop.VkgsEnv โ€” HUGSIM ์‹ Gymnasium env)
python -m pip install gymnasium==1.0.0

# 4. gsplat โ€” ์„ค์น˜ ์‹œ์ ์— CUDA ํ™•์žฅ์„ ๋ฏธ๋ฆฌ ๋นŒ๋“œํ•œ๋‹ค (์ฒซ ํ•™์Šต ๋•Œ JIT 10๋ถ„ ๋ฐฉ์ง€)
if ! python -c "import gsplat" 2>/dev/null; then
  MAX_JOBS=8 python -m pip install --no-build-isolation gsplat==1.4.0
fi

# 5. nusim (editable) โ€” nusim / vkgs-doctor ๋ช…๋ น ๋“ฑ๋ก
python -m pip install --no-deps -e src/nusim

mkdir -p cache/ccache outputs
echo
echo "[setup] ์™„๋ฃŒ.  source scripts/local_env.sh && vkgs-doctor"