|
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`)์ ๋ค์ด ์์ง ์๋ค. | |
| ## ์ฐ๊ธฐ | |
| ```bash | |
| 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 | |
| ``` | |
| ์์์ ์ฒ์ ํ ๋ฒ ๋ทฐ์ด๋ฅผ ๋น๋ํ๋ค: | |
| ```bash | |
| 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 ๊ฐ ๋๊ณ ์์ผ๋ฉด ์ปจํ ์ด๋ ์ ๋ทฐ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ผ๋ก ์คํจํ๋ค. | |
| ## ์ ๊ธ ํ์ผ ๋ค์ ๋ฝ๊ธฐ (๋ก์ปฌ ํ๊ฒฝ์ ํจํค์ง๋ฅผ ๋ํ์ ๋) | |
| ```bash | |
| ~/.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 | |
| ``` | |