midjourneyより高性能だけど入口の敷居が高すぎるStable Diffusionについて、かわなえさんによる導入方法解説まとめ+他の人の補足など

難易度高いけど、出来上がったアウトプットがすごすぎる…確かにmidjourney越えてる
651
リンク ITmedia NEWS 画像生成AI「Stable Diffusion」がオープンソース化 商用利用もOK AIスタートアップ企業の英Stability AIは、画像生成AI「Stable Diffusion」をオープンソース化した。AI技術者向けコミュニティサイト「HuggingFace」でコードやドキュメントを公開した他、同AIを試せるデモサイトなども公開している。 154 users 134
リンク はてな匿名ダイアリー HなStable Diffusion 前提として、StableDiffusionでエロ画像を出そうとしてもsafetycheckerという機能が入っており、センシティブな画像を出そうとすると黒塗りになる。(Stable… 180 users
まとめ AI、ついに「二次元のKAWAII」を理解? KAWAIIは作れる 171342 pv 639 759 users 362

ちなみに、Stable Diffusionを使ったファーストパーティのWebサービスあるから試すだけなら環境構築不要です(制限あり)

https://beta.dreamstudio.ai/dream

かわなえさんのまとめ

かわなえ@イラスト @kawai_nae

Stable Diffusionが一般公開されて自分のPCで動かせるようになったので、全く知識がないけど環境を構築してみました。ちょっと忘れないように簡単にまとめてみる。(1)

2022-08-23 07:29:53
かわなえ@イラスト @kawai_nae

必要なもの hugging faceのアカウント Nvidiaのグラボ(私の環境ではRTX3070Ti) Nvidia Tool kit v11.7 Nvidia cuDNN v8.5 python v3.10 たしかこんな感じ(2)

2022-08-23 07:33:55
かわなえ@イラスト @kawai_nae

基本は 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
かわなえ@イラスト @kawai_nae

するとここに飛ぶので読んだうえでAccess repositoryを押す。hugging faceのアカウントが無ければこのタイミングで作る。(4) pic.twitter.com/36j8R6cgpL

2022-08-23 07:41:09
拡大
かわなえ@イラスト @kawai_nae

次はAccess tokenを作る。サイト右上のアイコンをクリックしてSettingsを開いたページの左列AccessTokensをクリックする。ここでNewTokenを押して適当な名前を付けてRoleはreadのままGenerete a tokenを押すと、こんな感じにtokenを作ることができた(5) pic.twitter.com/VVdkp2FIQx

2022-08-23 07:45:13
拡大
かわなえ@イラスト @kawai_nae

次はpythonをインストールするpython.jp/install/window… ここを参考にインストールする。一応バージョンは最新の3.10.6でOK(6)

2022-08-23 07:49:48
かわなえ@イラスト @kawai_nae

次は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
かわなえ@イラスト @kawai_nae

これで必要なものは揃ったのであとはCMD(管理者権限)でコマンドを入力していく。まずは "pip install diffusers==0.2.4 transformers scipy ftfy" で必要なものをインストールする。(8)

2022-08-23 08:00:22
かわなえ@イラスト @kawai_nae

次に以下のコマンドを入力していく ”python” ”import torch” ”torch.cuda.is_available()” と入力してtrueが返ってくることを確認する "from diffusers import StableDiffusionPipeline " (9) pic.twitter.com/ngDYyZonq6

2022-08-23 08:05:44
拡大
かわなえ@イラスト @kawai_nae

続けて ”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
かわなえ@イラスト @kawai_nae

続けて "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
拡大
かわなえ@イラスト @kawai_nae

続けて ”from torch import autoca” ”with autocast("cuda"):” ” image = pipe(prompt)["sample"][0]” と入力してEnterを押す。注意としてimageの前にスペースが必要。(12)

2022-08-23 08:14:29
かわなえ@イラスト @kawai_nae

修正 誤:”from torch import autoca” 正:”from torch import autocast” (13)

2022-08-23 08:17:27
かわなえ@イラスト @kawai_nae

ここまで入力すると画像の生成が始まる。使うGPUにもよるとは思うけどRTX3070Tiの場合9秒で生成できた。(14) pic.twitter.com/7Epwb1Aith

2022-08-23 08:19:08
拡大
かわなえ@イラスト @kawai_nae

生成した画像を保存するには "image.save(f"image_name.png")" と入力すると作業ディレクトリに生成された画像が保存される うーん素晴らしい(15) pic.twitter.com/21Gv62Vbct

2022-08-23 08:21:52
拡大
かわなえ@イラスト @kawai_nae

続けて生成するときは "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
拡大
かわなえ@イラスト @kawai_nae

ちょっと詰まったところ pytorchがGPUを認識してくれない =>pytorchをインストールしなおして再起動してみる メモリが足りないみたいなエラーが出る =>float16版コマンドを使う。そのうえでwith autocast("cuda"):を使ってからimage = pipe(**)する(18)

2022-08-23 08:35:47