stable_diffusion.openvino を WSL2 で実行したけど"Killed" されちゃった人へ
なにがおこった
下記記事を参考に、Intel CPU と WSL2 上で Stalbe Diffusion の実行を試みたんですが失敗しちゃったので自分用忘備録としてのこします。
以下筆者の実行環境です
・ OS - windows11 pro
・ CPU - i5-1135G7
・ メモリ - 16GB
ノーパソです。
これで WSL2 使って実行したら以下みたいに killed されて実行できませんでした。
python demo.py --prompt "Tamago Kake Gohan"
ftfy or spacy is not installed using BERT BasicTokenizer instead of ftfy.
0it [00:00, ?it/s]Killed
わくわくして待機してたのでちょっと落ち込みました。
結論から言うとWSL2 のメモリ不足が原因でした。
どうやら WSL2 の初期設定では搭載メモリの50% を WSL2 に当ててくれるらしいんですが、そうすると自分の場合 8GB となるんですが全然足りなかったみたいでした。
そんなわけで WSL2 の割り当てメモリを変更すればいいので、 .wslconfig
を書けば解決します。
.wslconfig
の書き方はググればいっぱい出てくるのでここでは細かく説明しませんが、とりあえず以下を記述すればOKです。(.wslconfig
は %userprofile%
にあります。ファイルが存在してなければ作ってください)
[wsl2]
memory=12GB
memory=
に割り当てたい量を記述します。ここでは12GB としてますが、10GB でも動きました。お使いの環境に合わせて調整してください。
あとはファイルを保存して、powershell
ひらいて、以下のコマンド叩いて wsl2 を再起動すればおkです。
wsl --shutdown
これでwsl2 ひらいて実行できるはずです。
python demo.py --prompt "Tamago Kake Gohan"
ftfy or spacy is not installed using BERT BasicTokenizer instead of ftfy.
32it [04:02, 7.59s/it]
こんな感じで実行できるはず。
おわりに
というわけで無事うごくようになりました。めでたしめでたし。
ゲーミングPCとかもってないし波に乗り遅れるかとおもってたんですが、Intel CPU で動かした方の記事とか参考にさせていただいてなんとか動くようになりました。ありがとうございます。
にしてもこれすごいっすね。。わたしの環境だと待機時間が4秒ぐらいかかっちゃうんですが、もっと速く画像錬成させたいがためにGPU付きのPC欲しくなっちゃいますね。。。
Discussion