ふしだらなかおす 2022/08/28 18:47

StableDiffusionのインストール方法と使ってみて

まぁまずはこいつを見てくださいよ旦那

左の自作画像が右に大変身
こういうこともできちゃうんですよねStableDiffusionならね

というわけでローカルにインストールするときに自分がやった方法を書いていきたいと思います

参考にしたページ
https://zenn.dev/koyoarai_/articles/02f3ed864c6127bb2049#comment-7a470dc767d8c8

前提としてエヌビディアのGPUが必要になるので持ってない人はgoogleのサービスなどを利用しましょう

ローカルで利用する場合CUDAのインストールとcudnnも必要になるのでこちらもインストール。(何も入れてないならバージョンは11.6がよろしいかと)

それとcondaが使えるアプリケーション自分はAnacondaを使いました
Pythonも入っているので別に用意する必要がありません
(と言うよりconda内のgitでのDLシステムが必要になります)


gitHubのStableDiffusionにいってデータをCodeボタンからDownload zipで落としてきます
https://github.com/CompVis/stable-diffusion

解凍してアクセスしやすい位置においておいてください

そして学習ファイルを用意します(重み)
https://huggingface.co/
このページからDLできるはずです
参考にしたページの通り進めれば問題なく学習ファイルを設置できるはずです(丸投げとも言う)


コマンドプロンプトを起動して解凍したフォルダに移動します
そしてコマンドで仮想環境を作ります
conda env create -f environment.yaml
conda activate ldm

次にその仮想環境にpytorchとtransformersをインストールします
pytorch
https://pytorch.org/
pytorchのホームページに行って自分の環境にボタンを合わせるとCUDA対応のpytorchをインストールするコマンドが出てきますのでそれをコマンドプロンプトへ打ち込んでpytorchをインストールします
ホームページに乗ってる方法ではCPU版しかインストールされません
そして次のコマンドでtransformersをインストールします
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .
2番めのは何なのかわかりませんがホームページに書いてある動作なので一応やっておきましょう

その後は解凍したStableDiffusionフォルダの中にあるenvironment.yamlというファイルの中に必要なモジュールが書かれています(pipの欄)

pip install で次々とインストールしていきましょう

下から3番めと2番めに書かれているやつはインストールするのにgitが必要になるのでcondaにインストールしてしまいましょう

conda install git

pip install -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers
pip install -e git+https://github.com/openai/CLIP.git@main#egg=clip
pip install -e .

このコマンドでインストールできるはずです

インストールが済んだら次のコマンドで画像作成です

python scripts/txt2img.py --prompt "a photograph of an astronaut riding a horse" --plms

がほぼ確実にメモリが足りないというエラーが出てしまうでしょう
(グラボのメモリ12Gあってもだめだった)

それを回避するバージョンがあります
https://github.com/basujindal/stable-diffusion
からCode>Downloadzipでファイルをダウンロードしてきます
optimizedSDフォルダ以外は同じものなのでoptimizedSDフォルダのみDiffusionを解凍したフォルダに入れます
そして次のコマンドを実行
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
エラーなく進めばoutputsというフォルダが新しくできているはずなのでそこを辿っていくと画像ができています(エラーが出る場合はエラーの内容に足りないモジュールが出るのでenvironment.yamlの中身と合わせてインストールしていきましょう)

画像ができていたらおめでとうございます無事インストールは完了しました
--promptの内容を変更して好きな絵を作り出してください

StableDiffusionには面白い機能があって予め用意したイメージに肉付けを行うといったようなこともできます。一番最初に話した画像の変換ですね

python optimizedSD/optimized_img2img.py --prompt "Austrian alps" --init-img input.jpg --strength 0.8 --n_iter 2 --n_samples 10 --H 512 --W 512

予めinput.jpgを同フォルダに用意しておき肉付けを--promptで指定してやって作成します

以上がStableDiffusionをローカルで使うにあたって私が行ったことです
多分抜けはないと思いますがもし間違いがあったらすみません

それにしてもすごい時代になったものだなぁ

追記
こちらの手順はブラウザで操作できる上一つ一つインストールする必要もなく簡単です
おすすめ
https://note.com/abubu_nounanka/n/na91126d8c2d6

追記2
12GメモリでStableDiffusionをデフォルトのまま使うオプション
--n_samples 1 or 2
--H 768 --W 512 もしくは --H 512 --W 768 が最大解像度の模様
デフォルトは--H 512 --W 512

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

最新の記事

月別アーカイブ

限定特典から探す

記事を検索