|
Download docker/README.md from kimjunhan/vkgs-sim: direct link, hf CLI and curl.
- Browser
- Download file 3.14 kB
-
https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/docker/README.md
- Command line
-
hf download hf://kimjunhan/vkgs-sim/docker/README.md
-
curl -L -o README.md https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/docker/README.md
3.14 kB
vkgs-sim ๊ฐ๋ฐ ์ด๋ฏธ์ง
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ(scripts/local_setup.sh ๊ฐ ๋ง๋๋ micromamba ํ๊ฒฝ vkgs)์ ๊ฐ์ ๋ฒ์ ๊ทธ๋๋ก ๋ด์ Docker ์ด๋ฏธ์ง.
๋ก์ปฌ ๊ฐ๋ฐ์ ๊ทธ๋๋ก ๋๊ณ , ๊ฐ์ ํ๊ฒฝ์ ๋ค๋ฅธ ๊ธฐ๊ณ๋ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ฎ๊ธธ ๋ ์ด๋ค.
| ๋ฌด์ | ์ด๋์ |
|---|---|
| ์ปดํ์ผ๋ฌ gcc 12 ยท CUDA 12.1 nvcc ยท Vulkan ๋ก๋/ํค๋ ยท glslc ยท cmake ยท Tracy ์์กด์ฑ | docker/conda-lock.txt (conda ์ ๊ธ) |
| torch 2.4.1+cu121 ยท torchvision 0.19.1 ยท gsplat 1.4.0 (ํ์ฅ ๋ฏธ๋ฆฌ ๋น๋) | docker/Dockerfile |
| ๋๋จธ์ง ํ์ด์ฌ ํจํค์ง | docker/requirements.lock.txt (pip ์ ๊ธ, --no-deps) |
| ์์ค ยท ์ค์ ยท outputs ยท cache | ์ด๋ฏธ์ง์ ์์ โ ์คํ ๋ ์ ์ฅ์๋ฅผ ํธ์คํธ์ ๊ฐ์ ๊ฒฝ๋ก๋ก bind-mount |
ArtiFixer ์ถ๋ก ํ๊ฒฝ(micromamba artifixer)์ ๋ค์ด ์์ง ์๋ค.
์ฐ๊ธฐ
docker compose build dev # ์ด๋ฏธ์ง dzqf0000/vulkansim:1.0 (์ฒ์ ์ฝ 20~30๋ถ)
xhost +local: # ์ฐฝ ๋ทฐ์ด๋ฅผ ์ธ ๋ (ํธ์คํธ์์ ํ ๋ฒ)
docker compose run --rm dev vkgs-doctor # CUDA ยท Vulkan ยท ๋ฐ์ดํฐ์
์ ๊ฒ
docker compose run --rm dev bash # ์
ธ โ ์์์ ๋ฐ๋ก nusim, cmake, pytest
์์์ ์ฒ์ ํ ๋ฒ ๋ทฐ์ด๋ฅผ ๋น๋ํ๋ค:
cmake -S src/vkgs -B build -GNinja && cmake --build build
build/๋ ํธ์คํธ์build-docker/๋ก ๊ฐ๋ ค์ง๋ค. ํธ์คํธbuild/๋ ํธ์คํธ conda ์ปดํ์ผ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋ด์ CMake ์บ์๋ผ ๊ฐ์ด ์ฐ๋ฉด ์๋ก ๊นจ์ง๋ค. nusim ์<์ ์ฅ์>/build/vkgs_viewer๋ฅผ ์ฐพ์ผ๋ฏ๋ก ์์์๋ ๊ฒฝ๋ก๊ฐ ๊ทธ๋๋ก๋ค.- ์ ์ฅ์๋ฅผ ํธ์คํธ์ ๊ฐ์ ๊ฒฝ๋ก(
$PWD)๋ก ๋ง์ดํธํ๋ค.outputs/gs_day/*/segments.txt๊ฐ์ ํ์ผ์ด ์ ๋ ๊ฒฝ๋ก๋ฅผ ๋ด๊ณ ์๋ค. - nuScenes ์๋ณธ์
:ro๋ก ๋ง์ดํธ๋๋ค (NUSCENES_ROOT, ๊ธฐ๋ณธ์ ํธ์คํธ NAS ๊ฒฝ๋ก). - ์ปจํ ์ด๋ ์ฌ์ฉ์๋ uid 1000 โ outputs/ ์ ๋ง๋ ํ์ผ์ด ํธ์คํธ ์ฌ์ฉ์ ์์ ๊ฐ ๋๋ค.
- GPU ๋ ํ๋(8 GB)๋ค. ํธ์คํธ์์ ํ์ตยทArtiFixer ๊ฐ ๋๊ณ ์์ผ๋ฉด ์ปจํ ์ด๋ ์ ๋ทฐ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์คํจํ๋ค.
์ ๊ธ ํ์ผ ๋ค์ ๋ฝ๊ธฐ (๋ก์ปฌ ํ๊ฒฝ์ ํจํค์ง๋ฅผ ๋ํ์ ๋)
~/.local/bin/micromamba env export -n vkgs --explicit > docker/conda-lock.txt
# pip ์ ๊ธ: pip ๋ก ์ค์น๋ ๊ฒ๋ง (conda ๊ฐ ๋ฃ์ ํ์ด์ฌ ํจํค์ง ยท torch ยท gsplat ยท nusim ์ ์ธ)
~/micromamba/envs/vkgs/bin/python - > docker/requirements.lock.txt <<'E'
import importlib.metadata as m
skip = {"nusim", "gsplat", "torch", "torchvision", "triton", "pip", "setuptools", "wheel",
"nuscenes-devkit", "lpips", "piq"}
rows = sorted((f"{d.metadata['Name']}=={d.version}" for d in m.distributions()
if (d.read_text("INSTALLER") or "").strip() == "pip"
and d.metadata["Name"].lower() not in skip and not d.metadata["Name"].lower().startswith("nvidia-")),
key=str.lower)
print("# docker/Dockerfile ์ด --no-deps ๋ก ๋ฃ๋ pip ํจํค์ง โ ๋ก์ปฌ vkgs ํ๊ฒฝ์์ ๋ฝ์ ๊ฒ")
print("\n".join(rows))
E
docker compose build dev