スタジオおふとん

プログラミング系

WSL2空の状態からStable Zero123を動かす

3回は環境を爆破させた。
余計なことはやらないに限る。

cudaを入れる

11.8を入れる

正解

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get install cuda-11-8

間違い

https://developer.nvidia.com/cuda-11-8-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=18.04&target_type=deb_network
このままやるとcudaが勝手に最新版にされるので注意。
sudo apt-get -y install cudaは実施してはいけない。

https://note.com/srvhat09/n/ndfc828a5cf21

パスを通す

export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

先ほどのnoteに書いてある通りに実施する。
この辺をやらないと、nvccが通らない。
そして、プロンプトのエラーの通りsudo apt install nvidia-cuda-toolkitをすると環境がぶっ壊れる罠。

https://cocoinit23.com/cuda-nvcc-command-not-found/

tinycudannでcannot find lcudaとかになるときはパス周りがうまくいっていない可能性がある。

パスを反映させて確認する

source ~/.bashrc

nvcc -V

さらにパスを追加する

これは必要かわからんし、もうちょっとちゃんとした書き方はある。

export PATH="/usr/local/cuda/bin:$PATH"
export PATH="~/.local/bin:$PATH"
export LIBRARY_PATH="/usr/local/cuda/lib64/stubs:$LIBRARY_PATH"

pipを入れる

sudo apt install python3-pip

stable zero 123をcloneして指示に従う

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
pip install ninja
pip install -r requirements.txt

これより前にpytorchとか入れておくともうわけわからんことになるので腕に自信がないなら空っぽの状態から始めた方がいいいい。

学習済みデータをDL

wget -P load/zero123/ https://huggingface.co/stabilityai/stable-zero123/resolve/main/stable_zero123.ckpt

設定を変えて実行

https://qiita.com/keisuke-okb/items/1b590c21aa9cd94332ac#3-threestudio%E3%81%AE%E5%AD%A6%E7%BF%92%E8%A8%AD%E5%AE%9A%E3%81%AE%E5%A4%89%E6%9B%B4

とりあえず最初はこれでやった方がいい。
メモリ(GPUじゃない方も)を馬鹿食いするので、失敗したときに何が原因かわからなくなる。(この設定でも一時的に32Gをほぼ食い尽くす)
しかも、途中でエラーになるとwsl2を閉じてもメモリが解放されないのでpowerShellで下記コマンドを打つ必要がある。

wsl.exe --shutdown

objの出力

python3 launch.py  --config "outputs/zero123-sai/[64, 128, 256]_name.png@20240321-210619/configs/parsed.yaml"  --export   --gpu 0  resume="outputs/zero123-sai/[64, 128, 256]_name.png@20240321-210619/ckpts/last.ckpt"  system.exporter_type=mesh-exporter  system.exporter.context_type=cuda

上記の設定だとほぼ使い物にはならないが。

https://note.com/npaka/n/ndd4da6c942db

感想

設定をある程度チューニングしたいところだが、超ハイスペックPCじゃないと3Dモデルのベースにすらできない感じするな。