midjourneyより高性能だけど入口の敷居が高すぎるStable Diffusionについて、かわなえさんによる導入方法解説まとめ+他の人の補足など
- golden_haniwa
- 104800
- 230
- 659
- 34
Staff Diffusionのすごいところ=無料で何枚でも使える上にHな絵もこっしょり描ける
ちなみに、Stable Diffusionを使ったファーストパーティのWebサービスあるから試すだけなら環境構築不要です(制限あり)
かわなえさんのまとめ
Stable Diffusionが一般公開されて自分のPCで動かせるようになったので、全く知識がないけど環境を構築してみました。ちょっと忘れないように簡単にまとめてみる。(1)
2022-08-23 07:29:53必要なもの hugging faceのアカウント Nvidiaのグラボ(私の環境ではRTX3070Ti) Nvidia Tool kit v11.7 Nvidia cuDNN v8.5 python v3.10 たしかこんな感じ(2)
2022-08-23 07:33:55基本は huggingface.co/blog/stable_di… この開発者さんのドキュメントを見ながら進めていく まず”we'll use model version v1-4, so you'll need to visit its card, read the license and tick the checkbox if you agree.”とあるので"its card"のところをクリックする(3)
2022-08-23 07:39:34するとここに飛ぶので読んだうえでAccess repositoryを押す。hugging faceのアカウントが無ければこのタイミングで作る。(4) pic.twitter.com/36j8R6cgpL
2022-08-23 07:41:09次はAccess tokenを作る。サイト右上のアイコンをクリックしてSettingsを開いたページの左列AccessTokensをクリックする。ここでNewTokenを押して適当な名前を付けてRoleはreadのままGenerete a tokenを押すと、こんな感じにtokenを作ることができた(5) pic.twitter.com/VVdkp2FIQx
2022-08-23 07:45:13次はpythonをインストールする。 python.jp/install/window… ここを参考にインストールする。一応バージョンは最新の3.10.6でOK(6)
2022-08-23 07:49:48次はNvidia Tool Kit とcuDNN、pytorchをインストールする。 zenn.dev/ryu2021/articl… ここを参考にインストールする。Nvidia Tool Kitは最新の11.7、cuDNNも最新の8.5、pytorchのcudaはNvidia Tool Kitで追加されたシステム環境変数に合わせて選択する。(7)
2022-08-23 07:55:05これで必要なものは揃ったのであとはCMD(管理者権限)でコマンドを入力していく。まずは "pip install diffusers==0.2.4 transformers scipy ftfy" で必要なものをインストールする。(8)
2022-08-23 08:00:22次に以下のコマンドを入力していく ”python” ”import torch” ”torch.cuda.is_available()” と入力してtrueが返ってくることを確認する "from diffusers import StableDiffusionPipeline " (9) pic.twitter.com/ngDYyZonq6
2022-08-23 08:05:44続けて ”pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", revision="fp16", torch_dtype=torch.float16, use_auth_token="トークン")” トークンの部分には最初の方で作ったhugging faceのトークンを入れる。初回にはダウンロードが入るからちょっと待つ(10)
2022-08-23 08:07:50続けて "pipe = pipe.to("cuda")" "prompt = "a photograph of an astronaut riding a horse"" このpromptに格納するのがAIに描いて欲しいもの ここのはドキュメント通りの文章(11) pic.twitter.com/aS4qrAXdiM
2022-08-23 08:11:19続けて ”from torch import autoca” ”with autocast("cuda"):” ” image = pipe(prompt)["sample"][0]” と入力してEnterを押す。注意としてimageの前にスペースが必要。(12)
2022-08-23 08:14:29修正 誤:”from torch import autoca” 正:”from torch import autocast” (13)
2022-08-23 08:17:27ここまで入力すると画像の生成が始まる。使うGPUにもよるとは思うけどRTX3070Tiの場合9秒で生成できた。(14) pic.twitter.com/7Epwb1Aith
2022-08-23 08:19:08生成した画像を保存するには "image.save(f"image_name.png")" と入力すると作業ディレクトリに生成された画像が保存される うーん素晴らしい(15) pic.twitter.com/21Gv62Vbct
2022-08-23 08:21:52続けて生成するときは "prompt="a beautiful mountain landscape"" "pipe = pipe.to("cuda")" "with autocast("cuda"):" " images = pipe(prompt)["sample"]" という感じでpromptを更新してあげればいい(16) pic.twitter.com/WrZIpHOc8V
2022-08-23 08:30:31もう一つ参考にしたドキュメント(17) colab.research.google.com/github/hugging…
2022-08-23 08:31:57ちょっと詰まったところ pytorchがGPUを認識してくれない =>pytorchをインストールしなおして再起動してみる メモリが足りないみたいなエラーが出る =>float16版コマンドを使う。そのうえでwith autocast("cuda"):を使ってからimage = pipe(**)する(18)
2022-08-23 08:35:47