話題のお絵描きAIを使ってみたいと思い立ったのだが、Webサービスに登録したりアプリを入れたりするのもなんだかなあと思い、せっかくなら勉強にと思ってローカル環境に入れてみた。
とはいえPythonもTensorflowも触ったことないわ、GitHubのアカウントも持ってないわ、なんなら開発環境も全然入ってないわということで完全に手探り状態。
参考にしたのはこのあたり。
【簡単】ローカル環境でStable Diffusionを実行する方法 | ジコログ
Stable Diffusionをローカルマシンで実行する(VSCodeとDevcontainerを使用)
GPUの無いPCでStableDiffusionのインストールと実行時間の比較(AMDでもOpenvinoは動作しました) | ううら.site
なんとなくインストールはできたが、コードをコピペしても色々エラーが出てうまくいかない。
RuntimeError: CUDA out of memory.
一応うちのPCはNVIDIA GeForceGTX1050/4GBを積んでるのだが、10GB無いとエラーになるようで、使用するGPUのメモリ量を設定することもできず、少ないGPUメモリで動かすには別のフォークをインストールしないとダメっぽいので諦め。
これはpipe.to("cuda")をpipe.to("cpu")にしたら動くようになった。ほかにも
pipe = StableDiffusionPipeline.from_pretrained(MODEL_ID, revision="fp16", torch_dtype=torch.float16, use_auth_token=YOUR_TOKEN) with autocast(DEVICE):
あたりの記述でエラーが出る。
Autocast error: expected scalar type Half but found Float
最終的にはこの記事のコードを切り貼りしてつなげたら無事動いた。torch_dtypeあたりの引数があるとダメみたいだ。
画像生成AI「Stable Diffusion」を低スペックPCでも無料かつ待ち時間なしで使う方法まとめ - GIGAZINE
pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN)
ようやく動くようになって記念すべき1枚目はこれ。