2024年3月3日日曜日

Easy-DiffusionをRaspberryPi4に入れてみた

え?RaspberryPi4?

5じゃないの?とかそういう問題じゃなくて

なんで??と、思われる方も多いだろう

やってみたかったからですがなにか?


では本編スタート

うちのRaspberryPi4にはUbuntu Serverを入れてある

sshで他のマシンからつなげられるようにしている


まず wget でイメージを取得

wget https://github.com/cmdr2/stable-diffusion-ui/releases/latest/download/Easy-Diffusion-Linux.zip

んで、解凍

unzip Easy-Diffusion-Linux.zip

cdしてstart.shを起動

cd easy-diffusion/
 ./start.sh


すばらしいことに何の問題も無くセットアップは完了する

一旦Ctrl+Cで止める


easy-diffusion フォルダにconfig.yamlを作成

net:
  listen_port: 9000
  listen_to_network: true

ui:
  open_browser_on_start: false

force_save_path: /home/user/images/
force_save_metadata: json


他のマシンからもつなぎたいから

listen_to_networkはtrue


Ubuntu Serverなので、ウインドウとか無い

したがって、ブラウザを起動させるとかできないから

open_browser_on_startはfalseだ

それと、セーブ場所 force_save_path は /home/user/images だけど、

userのところは自分のユーザーに変える

force_save_metadataもなんとなく json で設定している


続いて force_save_pathのフォルダを作成

sudo mkdir ~/images

あとeasy-diffusionの下のmodelsフォルダにもパーミッション設定
chmod 777 models


それと、start.shを毎回叩くのが嫌なので、systemctlで起動させる
sudo vi /etc/systemd/system/easy-diffusion.service

以下のServiceセクションのExecStartキーの値として
user_nameのところを自分のユーザーにすること
というか、自分が解凍した場所のstart.shをフルパスで書く

[Unit]
Description=Easy Diffusion

[Service]
ExecStart= /home/user_name/easy-diffusion/start.sh

[Install]
WantedBy=multi-user.target
~
~


んで有効化
sudo systemctl enable easy-diffusion.service

続いて起動
sudo systemctl start easy-diffusion

これで、RaspberryPiをrebootで再起動させてみる

適当に時間が経ったらブラウザでRaspberryPiのURLのポート9000を開く
http://192.168.x.x:9000

ブラウザUIが開くはずだ


とりあえずそのままMake Imageボタンを押してみた

馬に乗る宇宙飛行士を描くだけで1時間かかるらしい・・・


まぁ、そうなるだろうよ・・・

んで、残念なことに512*512では完走できなかった
最後の最後でConnection Lost
熱暴走でもしたか?
256*256は完走したが、出来はクソだった

384*384だとこんな感じ


宇宙飛行士どこいった?

んでは448*448ではどうだ?


おお?宇宙飛行士出てきたw


もうちっと色々試してみよう
a photograph of speaking cookie monster で生成

クッキーモンスターは通じるんだな
流石(なにが流石だ)

んじゃPromptとNegative Promptを設定してアニメ風な奴を出してみる

なんかキャラが複数出てきた
手前はマシだけど、奥に行くほど変な顔・・・

でもこんな指定だけで作ってくれるのは楽かもしれない

モデルとやらを設定してみる

cd ./easy-diffusion/models/stable-diffusion

wget  https://civitai.com/api/download/models/57618

mv 57618 counterfeitV30_v30.safetensors

wgetしたら名前がそのまんまだったので変えた

ブラウザからModelのところをリフレッシュしてから
プルダウンでcounterfeitV30_v30を選択してもう一度・・・

ついでにSwapサイズを拡張、8192にしようとしたがなぜか4096くらいになってた

まぁよくわからんけど
512x512で生成


モデルがあるだけでかなりマシになった

プロンプト変えてみたらもっと普通によくなった




0 件のコメント: