🤖

stable-diffusion UbuntuOS22.10編

2022/12/17に公開

2022.12.17現在
OS:Ubuntu Lunar Lobster (development branch)x64 bit AMD
CPU:ntel® Core™ i7-3610QM × 8(LenovoB590から継続して移植)
GPU:Mesa Intel® HD Graphics 4000 (IVB GT2)
↑ちなみに、このスペックのPCでお題を出してから、作画を完成させてくるまで15〜30分かかります。

目標:AIによる自動作画(完遂)

参考資料

https://code.mendhak.com/run-stable-diffusion-on-ubuntu/
https://www.xsim.info/articles/Python-Stable-Diffusion/How-to-install-and-test-Stable-Diffusion.html#cuda

https://invoke-ai.github.io/InvokeAI/installation/INSTALL_AUTOMATED/#arch-based-distros

https://qiita.com/AshField/items/0eaa3429b58231a30023

使用するライブラリ
anaconda

anaconda 環境のインストール。
https://www.anaconda.com/products/distribution#linux

wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
./Anaconda3-2022.05-Linux-x86_64.sh -b

で、ずっとENTERキーを押しながら、途中でとまったらENTERキーで読み込み

#conda evn(仮想環境)のアクティベートを自動でしないための設定
~/anaconda3/bin/conda config --set auto_activate_base false
~/anaconda3/bin/conda init

⬇結構重要
PyTorchの仕様が、お使いのPCと合ってないと不具合多発なので、要注意。
https://pytorch.org/get-started/locally/


↑ご自身のOS、GPUに合わせて、必要なライブラリをインストールできるコマンドを
”Run this Command”の横に生成してくれます。

git clone https://github.com/lstein/stable-diffusion.git
cd stable-diffusion

https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main

mkdir -p models/ldm/stable-diffusion-v1/
mv ~/Downloads/sd-v1-4.ckpt models/ldm/stable-diffusion-v1/model.ckpt

HuggingFaceの公式からsd-v1-4.ckptを~/models/ldm/stable-diffusion-v1/直下に配置。

cd ~/stable-diffusion/installer
bash install.sh.in
bash create_installer.sh

で、InvokeAI-installer-2.2.4-p1-linux.zip
InvokeAI-installer-2.2.4-p1-mac.zip
InvokeAI-installer-2.2.4-p1-windows.zip
が生成されるので・・・

unzip InvokeAI-installer-2.2.4-p1-linux.zip

で、生成されたInvokeAIから

cd ~/InvokeAI/installer/InvokeAI-Installer
bash install.sh

InvokeAI起動方法

cd ~/invokeai
bash invoke.sh

で、http://localhost:9090にアクセスポートさえ開いていれば、ブラウザ上で画像生成ができます。
9090が閉じている場合は、sudo htopでプロセスを探して、9090が使われてるプロセスをkillしてください。

一応、conda acitvate ldm など仮想環境(env)を使ったやり方が主流みたいですが、ブラウザでできるやり方もおすすめなので記事にしました。
たぶん足りないがあれば、質問への返答・補足等は致しますので、よろしくお願いします。

Discussion