こんにちは。
stable diffusion+streamlitを動かしてみました。
Repository:
※このリポジトリは実験的に作ったもので、これをそのままデプロイしても何が起きるか分かりません。
wsl2でcuda使う準備
- ここらへんを見る
- 動作確認
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
- wslでpytorchが動作することの確認
poetry run python3 -c "import torch; print(torch.cuda.is_available()); print(torch.rand(2, 2).to('cuda:0'))"
実行
詳しくはREADME.mdとDockerfileを読んで
結果
streamlitでstable diffusion動かした pic.twitter.com/XroIfC5hTg
— いりす (@irisuinwl) 2022年8月28日
image2image pic.twitter.com/68S8LyQsrZ
— いりす (@irisuinwl) 2022年8月28日
次やりたいこと
- 16bit, 32bitの切り替え
- GKE Autopilot+GPU+SpotVMへのデプロイ(コストをみたい)
- 強いグラボが欲しい(はい)
トラブルシューティング
- Windowsのversion が古い
以下のエラーがでる
21H2にする
- cudaのバージョン違い
no kernelとなる。 - CUDAを11.6にして、使うイメージを合わせる。
pytorch cudnn116でインストールする。
poetryを使っているので1.2.0にしてtorch+cudnnをインストールする。
poetryでインストールする上で参考にしたのは以下:
- CUDA OOMになる
自分のVRAMが8GiBしかないので、OOMになる。
ググると最適化verかfloat16にするといいらしいので、float16にして対応。