ステーブルディフュージョン

Stable Diffusion web UI (ubuntu)

★スマホでこのサイトを見るなら横向きを推奨

ステーブルディフュージョンのインストール(Linux/Ubuntu)

★NVIDIA製グラフィックボードの使用が前提
★何回かやり直してるので記事に抜けている作業もあるかも

★以下の黒枠の画像:Stable diffusion(SD) + GIMPで作成 ★文字の追加修正は主にGIMP

今回Stable diffusionをインストールしたPCについて

使用PC

★iiyama LEVELθ(LEVEL-M1P5-R45-RBX-WHITE)
★CPU型番:Ryzen 5 4500
★グラフィックス:NVIDIA GeForce RTX 3060 12GB
★メモリ容量:16GB
★ストレージ:MSI 500GB(M.2 2280 NVMe PCIe)

イイヤマPC
写真:イイヤマ

OS / Version

Ubuntu 22.04 LTS

参考サイト

ミライサーバー
note.com
pcwatch

SD画像:ソ連ポスター風
ソ連ポスター風(SD+GIMP文字)
アニメ風(背景の文字はGIMP)
SD画像:アニメ風(背景の文字はGIMP)

端末を開く

★インストールは端末と呼ばれる画面からコマンド(英語の命令文)を入力して操作する

★Ubuntuのデスクトップの角(右下か左下)にあるアイコンから開く

アプリケーションを表示する
[アプリケーションを表示する]
端末
[端末]
端末初期画面
端末初期画面

インストール1(Stable diffusionに必要な補助ソフトウェア)

インストールする物

★wget
★git
★python3
★python3-pip
★python3-venv
☆数が多いがまとめてインストールするので以外に簡単

端末練習

★練習がてらpython3が入っているか確認
★入力:”python3 –version”
→[Enter]→緑の文字が出るまで待つ
★python3が入ってなければ白字で”見つかりません”、あればバージョンが表示される

バージョン確認
バージョン確認

インストール手順

★実際の手順は①アップデート→②アップグレード→③インストール
①”sudo apt update”→[Enter]→緑の文字待ち
・緑にならずパスワードを要求されたらPCログイン時のパスワードを入力し[Enter]
②”sudo apt upgrade”→[Enter]→緑の文字待ち
③”sudo apt install wget git python3 python3-pip python3-venv”→[Enter]→緑の文字がでたら完了

※前項のpython3確認でPyson3があってもなくても操作は同じでよい
※”続行しますか?”と聞かれたら”y”→[Enter]

①の後、パスワード要求画面
①の後、パスワード要求画面
パスワードについて

★入力しても何も表示されない
★”****”とかも出ない
★次図はパスワードを入力して[Enter]キーを押した後の状態

パスワード

インストール2(NVIDIAグラフィックボード関連)端末操作の続き

インストールする物

★NVIDIA CUDA Toolkit

☆Toolkitは無くてもStable difussionは動くが、無いと画像出力までの時間が致命的に遅くなる
☆参考出力時間は
・有り:5秒(RTX 3060)
・有り:90秒(GTX 1650)
・無し:7分位(CPUによる)

SD画像:定番美少女
SD画像:定番美少女

注意事項

CUDA Toolkitはバージョンが11.8までしか対応していないとの事だがここでは気にせず12.2をインストールした。
★また、グラフィックボードのドライバはCUDA Toolkitに含まれているようでインストール不要らしい
★本サイトも含めネット情報はすぐに古くなる。”ガチガチにバージョンなどを一致させないとうまく行かない”との情報も多いがそうでもないようだ。
★端末操作などに詳しくない人が無理に細かい設定をしようとするとかえってNGの原因になるかも

適切なドライバーを探す

★端末入力でお薦めドライバを探す(その後、ドライバに合ったCUDAを探す)
①”sudo apt-get install ubuntu-drivers-common”
 →[Enter]→緑の文字待ち
②”sudo ubuntu-drivers devices”
 →[Enter]→緑の文字待ち
③出力文から”recommended”を探す
★PCにより変わるが当PCでは”driver-535″がお薦めらしい

nvidia-driver-535-distro non-free recommended

【注意事項】
Ubuntu リポジトリによって提供される NVIDIA ドライバーは435までとの情報もあるがそれ以降でも問題ないようだ
★当サイトではカーネルだのリポリジニなど難しい言葉は無視する
★PCにより”driver-535-open”等の”open”バージョンが”recommended”になる事もあるようだが”open”じゃない方を選んだほうが良いとの情報もある

ドライバに合ったCUDA
535がおすすめ(当PC)

CUDA Toolkit選択

★上記のお薦めドライバに合ったToolkitを探す。
★NVIDIAのサイトCUDA Toolkit Archiveを開く
★次図の左側の青枠内の適当なCUDAバージョンのリンクを開く(535がお薦めだった場合はCUDA Toolkit 12.2.2)

CUDA Toolkit Archive
CUDA Toolkit Archive

★Downroads画面がでるのでOperation Systemで[Linux]を選択するとArchitectureの表示が出るので順次クリックしていく
・Architecture:x86_64
・Distribution:Ubuntu
・Version:22.04
・Type:deb(Local)

選択画面
選択画面

★下部にインストールのコマンドが表示される
★その中にお薦めのドライバの番号(当PCでは535)があるか確認する。

★次図では”local_12.2.2-535“の表示が有る

ドライバ番号を確認
ドライバ番号を確認
【お薦めドライバがない場合】

もしお薦めの番号と違っていたらCUDA Toolkit Archiveのページに戻って別のリンクを調べる。

CUDA Toolkit Archive
CUDA Toolkit Archive
お薦めドライバが見つかったらインストール

★お薦めドライバが見つかったらこのバージョンのCUDAをインストールするので端末操作を行う

★”Installation Instructions”下のコマンドをCopy → 端末にPaste → [Enter]で実行していく

☆コマンドはまとめて全部コピー&ペーストしてもできるようだが1文づつの方がエラー対策としては良いかも

コマンドの1文目をコピー
コマンドの1文目をコピー

★次図は1文目のPaste → [Enter]後の端末画面
★画像はドライバ535用では無いかも(何回かやり直している)

【最後のコマンドについての情報】

 sudo apt-get -y install cuda
の後にCUDAのバージョンを入れる必要があるとの情報もあったが、当PCでは入れなくてもうまく行った(他の原因も有ったと思うがバージョンを入れた時はうまく行かなかった)。

ドライバのインストール

端末のPathコマンド

★Path(パス)とは道の意味
★Stable diffusionにCUDAへの道/行き方を示す為の物(だと思う)
★パスを入れないと正しくインストールされていてもStable difusionは起動できない

★パスのコマンドは上書きされるようで失敗してもやり直しがきくようです、たぶん
☆例として下記のコマンドを続けて実行してもパスが2つできる訳でなく最後のパス(12.2)のみが残る。
export PATH=”/usr/local/cuda-11.8/bin:$PATH”
export PATH=”/usr/local/cuda-12.2/bin:$PATH”

★パスについて正確な事は知りません、「””」を使わずに記述してるサイトも有りますが違いはわかりません


★実際のコマンド入力は次項です

Pathのイメージ
Pathのイメージ

★端末に下記コマンドを入力し[Enter]
☆export PATH=”/usr/local/cuda-12.2/bin:$PATH”
☆export LD_LIBRARY_PATH=”/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH”

【注意!】
黄色部分は上段のCUDA Toolkit選択の項目で選んだCUDA Toolkitのバージョン
★Ubuntuのデスクトップのツールバーのファイルから確認したほうが良い→[ファイル]→左下の[他の場所]→[コンピューター]→[usr]→[local]→[cuda-??.?]
★下のCUDA確認コマンドでも確認できる

インストール後の確認

★ちゃんとインストールされているかをコマンドで確認

CUDA確認コマンド→ dpkg -l | grep cuda
CUDA確認コマンド→ dpkg -l | grep cuda
SD画像:遺跡
SD画像:遺跡
ドライバ確認コマンド→ dpkg -l | grep nvidia
ドライバ確認コマンド→ dpkg -l | grep nvidia
もう一息
NVIDIA確認コマンド→ nvidia-smi
NVIDIA確認コマンド→ nvidia-smi

アイコン確認

★CUDAをインストールするとUbuntuのデスクトップにNVIDIAのアイコンが追加されるので確認する
★右下か左下にある四角いアイコンから確認

アプリケーションを表示する
[アプリケーションを表示する]
右端をクリック
右端をクリック
下段がNVIDIAのアイコン
下段がNVIDIAのアイコン

インストール3(Stable diffusion web UI)

フォルダ作成

★たぶんフォルダ作成は不要、デフォルトでホームフォルダにインストールするようになっているらしい。
★Windows版ではフォルダを作る事になっているので一応次のように作った
・Ubuntuデスクトップのツールバーの[フォルダ]→[ホーム]に”stable-diffusion-webui”と言う名のフォルダを作成
・このフォルダの中にちゃんとインストールされているので間違いではなさそうだがわざわざ作らなくとも自動でフォルダが生成されるらしい

インストール

★端末を開き下記をペースト→[Enter]
①git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
②cd stable-diffusion-webui
③./webui.sh

③まで実行するとStable diffusionが起動する

★最下段にはバージョン情報がある
・version: v1.9.3
・python: 3.10.12
・torch: 2.1.2+cu121

Stable diffusion 初期画面
Stable diffusion 初期画面

★参考までにWindows版のStable diffusion

・version: v1.9.3
・python: 3.10.6
・torch: 2.1.2+cu121

★Windows版も昔は黒/オレンジの画面だったが今は色が変わった。
★但し、Stable diffusionのバージョンはUbuntu版と同じv1.9.3。使っていて違いはないようだ → Windows版は再び黒になった

Windows版Stable diffusion
Windows版Stable diffusion

失敗情報

★Stable diffusionインストールコマンド①はnote.comやミライサーバーのススメというサイトでは下のように入力すると書かれていたがうまく行かなかった。(noteとミライサーバーは情報源が同じ??)
 →git clone –depth=1 –branch v1.2.1 https://github.com/AUTOMATIC1111/stable-diffusion-webui

ミライサーバーではPythonインストール時に下記を実行すると書かれていたが他PCでうまく行かなかったのでやっていない
 →sudo apt install –no-install-recommends google-perftools
・そのサイトの指摘通り”Cannot locate TCMalloc (improves CPU memory usage)”の警告がでたが問題なし。
・そもそもCPUの使用率は0に近いのでimproves(改善)しなくとも良いと思う

★最初はCUDA11.8 / NVIDIAドライバー435の条件でやってみたがうまく行かなかった。素人が細かい設定をやったのがアダになったかも

Stable diffusionの簡単な使い方

起動方法1

★webui-user.batのあるフォルダを開く
[ファイル]→[ホーム]→[stable-diffusion-webui]
★フォルダ内を右クリックまたは上段検索マーク(虫眼鏡)左の点々マークをクリック→
[端末で開く]→下記コマンドを実行
① ./webui.sh →[Enter]

※どのみち画像が保存される”Output”フォルダに行くことになるので、その途中にあるwebui-user.batのあるフォルダから端末を開く起動方法1のほうが楽かも

起動方法2

[端末]→下記コマンドを実行
①cd stable-diffusion-webui →[Enter]
②./webui.sh →[Enter]

画像出力

①大設定:モデルと呼ばれるものを選ぶ。これ次第で画風が全く変わる。但し初期設定では一つしか入っていない
②中設定:Sampling method、よくわからないがここでも画風が少し変わる
③Prompt:出力したい画像の情報(呪文)を英語で入れる
④Negative prompt:出力したくない画像の情報を英語で入れる
⑤Generateを押すと画像が出力される

★気に入った絵がでたら再利用(Reuse〜)を押すとその絵の番号(Seed)が入力される→②中設定を変えたり英文を変えるとちょっと違う画像が出る
※ランダムを押すと元の設定に戻る(番号を手入力で-1にしても良い)

★画像サイズは初期設定より大きくしないほうが良い、大きくするならwidth(横幅)かHeight(高さ)のどちらかを1.5倍位に(縦横比が変わると出力画像も全く変わる)
☆大きくする場合は一度出力させた後にEtrasで拡大する
 (次図の①-③間にExtrasのボタンがある)
☆変な画像サイズにするとろくな絵が出ないのでこだわりがなければ初期設定のままか縦横比2:3(又は3:2)等が良い

【注意事項】

★Stable diffusion使用中は端末は閉じてはいけない
★閉じる時は右上の✕でよいが端末を閉じる時は[Ctrl]+[C]でプログラムを停止させてからのほうが良い?

Leningroad

出力画像の保存場所

[ファイル] → [ホーム] → [stable-diffusion-webui] → [output]

SD画像:偽オールド写真
SD画像:偽オールド写真

以下余白


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です