Stable Diffusionのアップデート方法!更新できない・エラーが出る場合の対処法も紹介 | romptn Magazine

Stable Diffusionのアップデート方法!更新できない・エラーが出る場合の対処法も紹介

Stable Diffusion

こちらの記事は2024年5月時点の情報ですので、ご注意ください。

「Stable Diffuison web ui」は定期的にバージョンアップが行われています。バージョンが上がるにつれて、UIや機能面で使い勝手が良くなっていきます。そして、画像生成も捗るのでアップデートは重要になってきます。

今回は「Stable Diffusion web ui」のアップデート方法について解説しています。

でも、やみくもにアップデートすると、めんどくさいバグに悩まされる事もしばしばありますので、不慣れな方はこの記事を読んで、しっかりとした準備をしてください。

※「Stable Diffusion」の立ち上げ方や使い方については、以下の記事を参考にしてください。

※拡張機能の更新方法については、以下の記事で詳しく解説しています。

スポンサーリンク

【2023年10月時点】Stable Diffusionの最新バージョン

2023年9月1日に最新バージョン「v1.6.0」が公開されました。

新しいSampling method(サンプラー)が追加されるなど大きな変更がされています。

詳しくは、以下の公式ページをご覧ください。

Release 1.6.0 · AUTOMATIC1111/stable-diffusion-webui
Features:refiner support #12371add NV option for Random number generator source setting, which allows to generate same pictures on CPU/AMD/Mac as on NVidia vide...
Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

Stable Diffusionを更新する前に気を付けること

これはすごく大事なことです!

「Stable Diffusion web ui」をいきなり更新するのはやめましょう。色々と不都合が出る可能性があります。必ず”Commit hash”を控えてから更新し、もしバグがあったら元に戻せるようにしてからアップデートをしましょう。

”Commit hash”については後ほど説明していきます。

本記事を読んで頂ければ必要な手順は全て覚えられますので、是非参考にしてください!

「AUTOMATIC1111」のGitHubを確認する

アップデートの内容はStable Diffusionが公開されているGitHubから確認できます。

以下のリンク先、「AUTOMATIC1111」氏のページに詳細があります。

GitHub - AUTOMATIC1111/stable-diffusion-webui at v1.6.0
Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

先日、大きなアップデートがありました。機能も色々と増えていますし、UIにも変更があったようです。

でもその前に、しっかりと準備をすることが重要です!

アップデートの時にバグがあるのは当然です。(だって無料で使えるツールですもの)

あるいは拡張機能が使えなくなる事もよくあります。多少のバグがあっても公開して、ユーザーに使ってもらいながら修正していきます。

これによって、技術的な発展のスピードが上がるのです。ただし大規模なアップデートの時には思いもよらないバグがあったりもします。

自分の画像生成環境は自分でしっかり守る。そういった意識が大切です。

「モデル」や「Lora」などの学習データをバックアップしておく

基本的には学習データの「モデル」や「Lora」はすでに別ファイルで保存されているため、破損のリスクは少ないです。ただし、アップデート後のバグにどんなのが来るかはわかりません。

また、不具合で色々なファイルをダウンロードし直すこともありえます。その際に間違って自分で消してしまうリスクは存在します。

今では手に入らない「モデル」や「Lora」もあるので、そのような希少なものは常日頃から別途保存をしておくほうが安全でしょう。

※Stable Diffusionの「モデル」について詳しく知りたい方は、以下の記事を参考にしてください。

※Stable Diffusionの「Lora」について詳しく知りたい方は、以下の記事を参考にしてください。

しっかり動作する「Commit hash」を保存しておく

アップデート後うまく動作しない時に、バージョンを戻す方法があります。

「Commit hash」(コミットハッシュ)があると簡単に戻せます。今使用している環境の物をターミナル画面からひかえておきましょう。

ターミナル画面

『Commit hash』とは

コミットハッシュは、特定のコミット(変更セット)を一意に識別するための一連の文字列です。この文字列は、SHA-1ハッシュ関数(Secure Hash Algorithm 1)を使用して生成され、コミットの内容と履歴を識別するのに役立ちます。

Gitのコミットハッシュは、コードの変更のトラッキングやバージョン管理、履歴の確認、異なるバージョン間での差分の比較など、ソフトウェア開発プロジェクトの管理において非常に重要です。コミットハッシュを使用することで、特定のコミットを簡単に特定し、必要な変更を追跡することができます。また、異なるコミット間の関係も理解するのに役立ちます。

過去の「Commit hash」の確認方法

ターミナル画面から過去の更新履歴を確認することができます。

ターミナルを開いてstable-diffusion-webuiのディレクトリ行きましょう。ターミナル上で

cd ~/stable-diffusion-webui

コピペして「enter」を押すと、stable-diffusion-webuiのディレクトリが表示されます。ファイルを探して右クリック経由で表示するよりも早いので、知らなかった方は覚えておくと便利ですよ。

次に

git log

コピペして「enterキー」を押すと、いくつか過去のコミットハッシュが出てきます。さらに「enterキー」を長押しすると遡って過去のコミットハッシュが流れていきます。

過去のハッシュコミットの確認

今後特定のバージョンでしか機能しない拡張機能などがあった際に、使う事があるかもしれませんので覚えておくと便利です!

不具合のために備えておく

コミットハッシュ以外にも”python”や”torch”のバージョンも残しておくと良いでしょう。これらを更新することでエラーが収まる事もあります。

ターミナルからそれらを確認する方法もありますが、今使っているstable diffusionの画面の一番下に各バージョンの記載がありますので、スクショをとっておくのが簡単です。

stable diffusion web ui 下部
プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。

Stable Diffusionの更新(アップデート)方法

準備が整ったところで、バージョンアップしてみましょう。

①現在のバージョンを確認する

まずは、ご自身のStable Diffusionの環境が最新バージョンなのか否か確認しておきましょう。

●ローカル版をお使いの方

「webui-user.bat」のファイルを実行して、下記画像のようにコマンド画面が開いたら、最初の方に“version: ○○”と記載してあります。

●AUTOMATIC1111をお使いの方

こちらから、AUTOMATIC1111のGitHubを開いてください。

画面右下の方に「Release情報」が記載されていますので、ここから確認してください!

バージョンが古い場合は、これから説明する方法でStable Diffusionをアップデートしましょう!

②Stable Diffusionをアップデートする

ターミナルを開いてstable-diffusion-webuiのディレクトリ行きましょう。ターミナル上で

cd ~/stable-diffusion-webui

コピペして、enterキーでOKです。stable-diffusion-webuiのディレクトリに着いたら

git pull

これもコピペして、enterキーでOKです。たったこれだけで更新作業が始まります。

③Stable Diffusionを起動する

ターミナルを開いてstable-diffusion-webuiのディレクトリにいきましょう。操作は先ほどと全く同じです。

ターミナル上で

cd ~/stable-diffusion-webui

enterしてください。もうそこにいる場合は飛ばしてください。

次に

./webui.sh

enterで起動します。

新しいバージョンがどんな感じなのかとても気になります。イシューを見る限りかなりバグが多そうですね。

とりあえず何か描かせてみましょう。

V1.6.0 画面

ちなみに私が「V1.6.0」へバージョンアップした時は問題なく作動しました。

UIが今までとは変わっています。loraの場所がいつもの場所に無くて探せませんでした。そしてやっと見つけてloraを入れたら、今度はそれを閉じられません。

なんとかできましたが、慣れるまで苦労しそうです。

最後はSettingsタグも確認しておきましょう!

Stable Diffusionを更新する際にエラーが出る時の対処法

バージョンアップしてみて、

「あ〜、なんだか動かなくなっちゃった〜」

そんな時はまず、エラーの内容を確認しましょう。ターミナル画面を見るとどんなエラーかが表示されていますので、メモしておきましょう。

エラーメッセージ例

上記はバリューエラーが起きています。“An event handler (on_generate_click)” が、必要な入力値(37個)を受け取るべきなのに、実際には35個しか受け取らなかったことが原因であることを示しています。

このエラーはリロードする事で解決できましたが、普段pythonや他のプログラミングをしない人にとってはちょっと難しいかもしれません。

そんな時にはエラーメッセージをコピーしてネットで検索するか、チャットGPTに聞いてみると、どんなエラーが起きているのか教えてくれます。

その上で、もし問題を解決したいなら

  • イシューを確認して、同様のトラブルの解決方法を探す
Issues · AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-diffusion-webui development by creating an account on GitHub.

上記のgithub上に多くのバグ事例が上がっていますので、ここから類似の物を探してください。でも必ず解決できるわけではありません。

そんなに時間はかけられないあなた

  • バージョンを元に戻しましょう

バージョンアップが簡単だったように、ダウングレードも簡単です。

stable-diffusion-webuiのディレクトリ行きましょう。ターミナル上で

cd ~/stable-diffusion-webui

enterキーを押します。

git checkout [コミットハッシュ]

[コミットハッシュ]のところに先ほど控えておいた元の使用環境のコミットハッシュを入れてenterキーを押してください。

これで元のバージョンに戻ります。少し時間がかかるので、バグの解決策が提示されるのを待ちましょう。

あるいはバージョンアップがあってもすぐには導入せずに、イシューや他のユーザーと情報交換をしながら時期を見定める、という案もありますのでご自身に合った方法を試してみてください!

また、バージョンアップして問題がない時も、それまで使っていた拡張機能(ControlNetなど)がちゃんと動作しない事もあります。

その時は、拡張機能のイシューを探して解決可能かどうかを考慮し、無理そうな時はバージョンのダウングレードをして解決策が出るまで待ちましょう

“git pull” 時にエラーが表示されるときの対処法

バージョンアップ時に使用した“git pull”というコマンドは、Gitバージョン管理システムのコマンドの1つで、リモートリポジトリから最新の変更を取得し、それを現在のブランチにマージまたは統合するために使用されるコマンドです。

もしその時にエラーが起きたら、先ほどと同じくエラーメッセージを確認し、そのエラーがどういった内容か検索したり、チャットGPTに聞いてみてください。

エラーの解決は個別事情毎に様々ですが、大概の問題は解決策が見つかります。

Stable Diffusionをダウングレードする方法

最後に、Stable Diffusionをダウングレードする方法についてご紹介します。

下記コードを実行することでダウングレードが可能になります!

git checkout ダウングレードしたいバージョン(例:v1.3.0)

ここで注意が必要なのですが、ダウングレードは以前に「git pull」でバージョンアップしたことがあるという場合のみ実行できます!

ダウングレードした後にアップグレードする方法

旧バージョンにダウングレードしたけど、やっぱり最新バージョンにアップグレードしたい!というときは、以下のコードを実行すると最新バージョンに変更できます。

git checkout master

まとめ

いかがでしたでしょうか?

Stable Diffusionのアップデート方法!についてご紹介してきました。

今回のポイントをまとめると、以下のようになります。

  • 準備が必要です。アップデートの前には必ず元のコミットハッシュを記録しよう
  • アップデートは { git pull } 、元に戻すなら { git checkout [コミットハッシュ] }
  • エラーがあっても落ち着いて、ターミナル画面を確認しよう

Stable Diffusionは日々進化を続けています。

今後どんな機能が実装されるかとても楽しみです。

皆さんもバージョンアップしたStable Diffusionで制作を楽しんでくださいね。

プロンプトジェネレーターで画像生成プロンプトの参考に!
  • Stable Diffusionのプロンプトの見本が知りたい
  • 画像生成が思ったようにできない
  • 色々なプロンプトを探したい
など、画像生成AIのプロンプトに関する疑問が解決するかもしれません。