絵描き界に革命が起きようとしている。AIお絵かきが誰でも利用できるようになって、しかもローカルで動かせるようになるなんて・・・・。stable-diffusionがすべてのセンスなし絵下手マンを救済してくれる。このビッグウェーブに乗らないわけには行かないでしょう!ということで、PCは主にSteamゲームとYoutubeにしか使わない人間が、ローカルでAIを動かすまでをまとめました。
購入から10年使ってるPCですがちゃんと動いている!前置きは短くしますが意外と簡単でした。

ハードウェア環境

・CPU:Intel Core i7-4790 3.60GHz
・メモリ:DDR3 16GB
・ディスク:Samsung SSD860 240GB,WDC HDD 1TB
・GPU:NVIDIA GTX 1660 SUPER(メモリ6GB)

ミドルレンジくらいかな?とか思っていたけど。今回の導入でいろいろ動かしてみると低スペックだなと感じた。
それでも十分なほどに出力できるのがすごい。
※CompVis版はGPUのメモリは10GB無いとエラー吐いて動きませんが、basujindal版はメモリを抑えた稼働をしてくれるのでbasujindal版を使用しています。CompVis版でもfloat16で実行することでこのメモリ制限を回避できますが、ライブラリ入れるのとかだるかったので使ってません。


ソフト環境

・OS:Win10
Git
anaconda
GitHub-stable-diffusion(CompVis)
GitHub-stable-diffusion(basujindal)


うーん。どれも聞き慣れない!パイソン開発やデータサイエンスでバリバリやっていれば当たり前なのでしょうが・・・・って感じの人でも、どれもわかりやすくて導入簡単でした。早速ですが順を追って見ていきましょう。


インストール手順

基本的にはGitHubのReadmeを読めばその流れの通りなんですけど、当然ながらGitコマンドが使える前提だったり、パイソン実行環境が整っている前提なので、無い無い尽くしの人にはちょっと足りてない。ざっくり順番をまとめると

1⃣Gitのインストール(anacondaでインストールすれば飛ばしていい)
2⃣anacondaのインストール
3⃣stable-diffusionの展開
といった感じです。わかっていれば簡単ですが、初めてだとちょい詰まる。

1⃣Gitのインストール
インストーラーをダウンロードしてデフォルト設定でインストールしました。
内容はよく読んでからインストールしてねってお決まりの注意をいれつつ、ググればインストール方法を解説しているところが多いので参考にしてください。

2⃣anacondaのインストール
上のリンクの手順でインストールすれば簡単に終わります。
Dataspell for Anacondaをオプションで追加したかというと、してません。
今後はAnacondaPromptで環境準備していきます。
まずはBaseポジションを確認します。

conda info –envs を実行します。

*がついてるところが現在使用している環境です。画像のようにbaseじゃないときは

conda activate
を実行するとBaseへ戻ります。

ここでgitコマンドが使える確認します。すると私はエラーになってしまいました。環境変数にPATH入れてるのに・・・

ということで、AnacondaPrompt上でGitインストールをしました。

conda install git

これでひとまず完了。
次にstable-diffusionを展開していきます。

3⃣stable-diffusionの展開
まずGitHubからダウンロードします。
Zipを展開して、AnacondaPromptのBase直下へ展開したものをすべて置きます。

そしたらやっとReadMeに従うことができます。長かった・・・

conda env create -f environment.yaml

実行が終わるまでしばし待つ・・・

完了するとldmフォルダが作られるので一旦終了。
つぎに学習モデルの配置を行います。ReadMeでいうところのWeightの入手です。

Hugging Face CompVis
※私はstable-diffusion-v-1-4-originalを入手しました。
※ダウンロードにはHugging Faceのアカウントが必要です。

ダウンロードしたXXXXXXX.ckptファイルを以下のパスに置きます。

C:\Users\Username\models\ldm\stable-diffusion-v1\model.ckpt

※stable-diffusion-v1フォルダは手動で作成しました。
※ダウンロードしたXXXXXXX.ckptはmodel.ckptにリネームしました。
※ReadMe的にはダウンロードしたファイルにlnコマンドでリンクして実行できるようにしてますが、面倒なので直接ファイルを置いてます。

これで画像生成のコマンドが実行できます!!!!!!!

と思いきや、実行しても私はGPUのRAMが少ないのでエラー・・・

④RAM少ない人向け:basujindalの導入
導入もくそも無いのですが、 GitHub-stable-diffusion(basujindal)からダウンロードしてZipを展開して、AnacondaPromptのBase直下へ展開したものをすべて置きます。
この作業、上で1回やってますのですべて上書きです。

これで準備完了!お疲れ様でした。

○その他1
出力が緑画像しか出ない。。。。そんな方は–precision fullを付加するとよい。

python optimizedSD/optimized_txt2img.py –prompt “Cyberpunk style image of a Telsa car reflection in rain” –H 512 –W 512 –seed 27 –n_iter 2 –n_samples 10 –ddim_steps 50 –precision full

○その他2
私の環境では256×256のサイズで20枚の画像生成がおよそ8分
512×512で20分かかります。
以下が生成結果です。なんかの出土美術品みたいですごいです!

コメントを残す

メールアドレスが公開されることはありません。