『Stable Diffusion web UI』Google ColabとGoogle Driveを連携

こんにちは、つれづれ猫です。
今まではローカル環境で『Stable Diffusion web UI』を利用してきましたが、いかんせん私のビデオカードは8Gなのでハイレゾ(高画質化)処理などを行うと失敗するケースがありました。

というわけで、この度「Google Colaboratory」でも「Stable Diffusion web UI」を使える環境を入手しようと思った次第。

今回の記事の対象としては以下のような方を想定しています。
『Stable Diffusion web UI』そのものに関してはかなり端折っているので、前回までの記事を見ていただければ幸いです。

こんな人の為の記事

・Stable Diffusion web UIは理解できているが、Google Colaboratoryが分からない
・Stable Diffusion web UIを使いたいけど、自分のPCだと
GPUが不安
・Google Colaboratoryを使ったStable Diffusion web UI環境に
興味がある

・ローカル環境とColab環境、何が違うの?
・実際の
導入手順を知りたい


今回の記事はかなり面倒な作業になりますが、きちんとやれば「Google Colaboratory」上で動かした「Stable Diffusion web UI」のファイルを「Google Drive」で管理できるようになるので頑張ってください。

導入に関しては、何回かテスト環境で成功はしましたが、スムーズに(エラーなしで)行うことはできませんでした。
割と力惜しの方法なので、他の方法で上手くいかなかったときに参考にしていただければと思います。
この記事のために4回入れなおしているので勘弁して下さい(笑)
今後のアプデでスムーズにいくようになりますように。

目次

Google Colaboratory と Google Drive

Google Colaboratoryとは何か?

長くなってしまったので、興味のある方だけどうぞ

Google Researchが提供するサービスで、ブラウザだけで Pythonというプログラム言語の実行を行うことができる。
本来はphthonを実行するには実行環境を整える必要があるのですが、それが必要ないということです。

ポイントは、あくまでプログラムの実行環境の提供ということです。
少し先の話になりますが、実際に使い始めると、(Google Colab)のディスク容量が確認できます。

これは、「Stable Diffusion web UI」の初期設定を終えた直後ですが、ディスクの容量が33.6/78.2GBとなっているのが分かります。
これをみて、「あれ、無料版なのにかなり多くない?」と思うかもしれません。
しかし、これはあくまで実行環境で一時的に(12時間だけ)借りているディスク容量になります。
ゲームを遊んでいても、12時間立つとデータがリセットされる環境だと思ってください。

「Stable Diffusion web UI」はGPUのVRAMにより処理速度が大きく変わるというのはご存じだと思いますが、上の表示では15GBになっています。
もう少し詳しく見るためにGPUの情報をPythonで表示させてみます。

具体的な入力場所などは後述します。

今回はTesla T4の15GBが割り当てられたようです。
じつはこれ、ランダム抽選という話ですが、いまのところこのGPUしか見かけていませんので、もしかしたら無料版はこのGPUに固定されたのかもしれません。

一応GPUの種類自体は色々あって、数年前でも40GBのGPUもあったそうです(無料版で割り当てがあったのかは不明)。
つまり、有料版に加入する大きなメリットとして、高い性能のGPUが割り当てられやすい、というものがあります。

ちなみに2023.4現在の有料プランの説明はこのようになっています。

どの程度のGPUが貸し出されるのかはわかりませんが、16GBのVRAMでは満足できない場合は、有料プランも検討してみると良いでしょう。

16GBでも私のPCの8GBより上等なので、(ローカルでは厳しかった)ハイレゾ処理等でクラッシュしなければとりあえずOKです。

長くなってしまいましたが、今回の主題に照らし合わせると

Google Colaboratoryとは、Stable Diffusion web UIの一時作業場
あくまで「処理」を代行してくれるだけなので、保存場所としては一時的(12時間)に使わせてもらっているだけなのを忘れずに。

今回のGoogle Driveの役割は?

上の項目で、Google Colaboratoryとは一時作業場の提供という話をしました。
ではGoogle Driveは、というとこちらは使ってる人も多いので言うまでもないかもしれませんが、保管場所の提供です。
無料で15GBまで保管可能で、モデルを1,2数種類使うくらいであれば無料で十分です。
有料プランの価格はそれほど高くないので、下記のプランをみながら、有料プランを検討してもいいと思います。
特に、多くのモデル(画風)を使い分けたい場合はおそらく無料プランでは厳しいと思います。


Google Colaboratoryとローカル環境の違い

ローカルで「Stable Diffusion web UI」環境

メリット

・立ち上げがダブルクリック1回
・出力画像の扱いが楽
・24時間つなぎっぱなしも可能
・モデルを大量に使い分けることも可能

デメリット

・GPUが足りないと画像生成に時間がかかる
・GPUが足りないと高画質処理ができない
・PCのメモリが占有される(他作業に影響)

Google Colaboratoryで「Stable Diffusion web UI」環境

メリット

・GPU(VRAM)は無料でも16GB(ミドルスペック以上)確保できる
・お手頃価格で高性能GPU(VRAM)のスペックで作業が可能
・PCに負荷がかからない(電気代節約や他作業等)

PCどころかスマホでも操作可能なレベルで、それでミドルスペックのPC以上の処理ができます。

デメリット

・導入が面倒
・記憶容量制限(無料だと15GB)
・インスタンス切断(操作なし90分/ブラウザ切断)、生成したデータ等は残る
・ Colaboratoryの記憶エリア初期化(最初のインスタンス作成から12時間)、24時間に1回GPU貸出し。
・1日あたりの使用量による制限もある。

※有料版は12時間制限⇒24時間制限などの緩和処置あり

90分制限/12時間制限に関しての詳細は次の項目にて。

Google Colaboratoryのルールの再確認

大事な部分なので改めてルールを確認します。

90分ルール&切断ルール

90分間操作がないと、セッションが終了します。
また、ブラウザを閉じる/スリープ状態などは「切断」とみなされセッションが終了します。

何か操作をしていればいいので、対策を検索してみたところchromeの拡張機能で存在しましたが、どうもマルウェア疑惑があるようなのでここで記載はやめておきます。自己責任で。
スリープによる切断は注意が必要ですが、そもそもセッションが切れても記憶領域(生成したデータ等)は生き残っているのでランタイムを再び立ち上げ直せば大丈夫です。

12時間ルール

最初にランタイムを起動(&GPUのレンタル)をしてから12時間経過すると、コンソール画面(コマンドを打ち込んだところ)を除きすべてのデータが初期化されます。
こちらは有料版なら24時間になりますが、結局Google Colaboratory上のデータは消えるので1日の作業終わりにバックアップ作業が必要になります。

ちなみに12時間では満足できない!
というだけの方はおとなしくgoogle アカウントをもう1つ作り、2つのアカウントを使いまわすという方法はあります。
Google Colaboratoryの有料プランはGPUのグレードアップもあるので、有料プランに入った方がストレスなく使えるのは確かですが。

ChatGPTに一問一答(読み飛ばしOK)

個人的に気になった点を聞いてみました。
情報源は2021年なので現状とは異なる部分もあることを差し引いて下さい。
また、ChatGPTは平気な顔で嘘をつきますので過信禁物(笑)

一問一答
google coraboratoryのディスク容量について、ランタイムのハードウェアアクセラレーターがNoneの場合、GPUの場合、TPUの場合で表示される数値の意味は変わってきますか?
ランタイムのタイプによって差がでるということは、GPUやTPUのシステムリソースにかかる分が差し引かれるという考えでいいですか?

はい、ディスク容量自体は変わりませんが、GPUやTPUを使用する場合、ノートブックのシステムリソースが一部制限され、使用できるディスク容量が少なくなる可能性があります。GPUやTPUを使用する場合、必要なリソースを確保するために、ノートブックの一部のリソースがGPUやTPUに割り当てられるためです。ただし、ディスク容量自体は変化しないため、ユーザーが使用できるディスク容量はランタイムのハードウェアアクセラレーターによって異なる可能性があります。

GPUを使用する場合、1日あたりの処理最大量が規定されているようですが、これはディスク容量とは無関係ですか?具体的に言うとディスク容量として重いファイルをアップロードしていても、1日で処理できるGPUの累積処理容量に変化はありませんか?

Google ColaboratoryでGPUを使用する場合、1日あたりの処理最大量はありますが、ディスク容量とは無関係です。この制限は、Googleが提供するクラウドリソースの使用量を制限するためのものであり、1日あたりの処理量を超える場合、ランタイムが中断されることがあります。

一方、ディスク容量は、ユーザーが使用できるストレージ容量を指し、アップロードされたファイルのサイズや種類に関係します。ディスク容量は、ランタイムのハードウェアアクセラレーターによって影響を受けることがありますが、GPUの累積処理容量には影響しません。

つまり、ディスク容量が不足している場合でも、GPUの処理能力には影響しませんが、逆にGPUの処理量が制限を超えている場合には、ランタイムが中断される可能性があるため注意が必要です。

GPUの1日あたりの処理容量の残量を計測することはできますか?

Google Colaboratoryでは、GPUの1日あたりの処理容量の残量を直接計測することはできません。Google Colaboratoryでは、GPUの使用に関する制限があるため、一定の時間を超えると中断される場合があります。

ただし、!nvidia-smiコマンドを使用して、現在のGPUの使用状況やメモリ使用量などの情報を表示することができます。この情報を参考に、GPUのリソース使用状況を把握することができます。

12時間のセッション内でも、ランタイムを立ち上げ直すと、割り当てGPUが変化する可能性はありますか?

はい、12時間以内でもランタイムを立ち上げ直すと、GPUの割り当てが変化する可能性があります。これは、Google ColaboratoryがGPUの利用状況や他のユーザーの利用状況に応じて、利用可能なGPUを動的に割り当てているためです。そのため、同じセッション内でも、ランタイムを立ち上げ直すことで異なるGPUが割り当てられることがあります。ただし、12時間以内であっても、GPUの割り当てが変更される保証はありません。

12時間のセッションアウトが発生した場合、次回GPUの割り当てを受けるにはタイムアウトから12時間経過する必要がありますか?

Google Colaboratoryのセッションがタイムアウトしても、次回のセッションでGPUを利用することができます。ただし、セッションがタイムアウトした場合、タイムアウトから一定時間が経過するまで再度セッションを開始できない場合があります。具体的には、最初のセッションのタイムアウトから約30分程度が経過する必要があります。このため、タイムアウト後にすぐにGPUを利用することはできない場合があります。

つまり、12時間タイムアウトが発生しても、1時間後にはまたGPUの割り当てを受けて作業を行えると思っていいのでしょうか?

はい、12時間のセッションタイムアウトが発生しても、タイムアウトから1時間後には再びGPUの割り当てを受けて作業を再開できます。ただし、その際には新しいセッションが開始され、前のセッションでの作業内容は引き継がれません。また、12時間のセッション時間制限に達する前に、自分でセッションを切断してしまった場合も、同様に新しいセッションが開始されます。

ここは勘違いしてました(記事中で勘違いしてます)。
1日12時間というわけではなかったんですね。
あくまでChatGPTのいうことを信じるなら、ですが。

「Googleドライブ」との連携について

連携のメリット

まず第1に、12時間ルール適用後も「Google ドライブ」の保管データは当たり前ですが消えません。
ですので、modelデータも残ってますし、outputした画像データも残っています
毎日の終わりにバックアップ作業をしないでいいのは大きなメリットでしょう。
また、「Googleドライブ」と「PC」を同期させておけば、自分のPCのファイル移動と同じ感覚でファイルの操作が可能になります。

連携のデメリット

1つ目のデメリット
まず、手順が複雑で、pyファイルなどの修正が必要になります。
基本的には今回の方法でうまくいくと思いますが、今後やり方が変更される可能性もあります。
現在不具合(?)が発生していて、おそらく通常よりややこしい処理が必要になっています。
これに関しては、もしかしたら「Stable Diffusion web UI」のバージョンが上がれば修正される可能性はあります。

2つ目のデメリット
Googleドライブの容量制限(無料版で15GB)。
「Google Colaboratory」に関してはきちんと計測はしていませんが無料GPU版で利用可能領域が50GBほどあります(ただし毎日消えます)。
多数のモデルを平行で使っていきたい場合には15GBの無料版では厳しいかもしれません。
特にmerge作業(モデル同士を組み合わせて新しいモデルを作る)をする人にとっては15GBだと満足できないでしょう。
なので、Googleドライブとの連携を考える場合は、使用モデルは2~3種類に絞ることになると思います。

結局連携はオススメなのか?

結論からいうと、連携すべき
「Google Colaboratory」のデータは毎日リセットがかかってしまうのはさすがに見落とせません。

上でも述べましたが、「Googleドライブ」と「PC」を同期させることで、このように視覚的にすぐ生成した画像の確認ができるのも大きな利点です。

利用できる15GBという制限上、利用できるmodel数は限られますが、最悪別のGoogleアカウントを利用する方法もあります。
なので、導入さえできるのであれば、Google ドライブ上でファイル管理をする方が良いと思います。

「Google Drive」と「自分のPC」との双方向連携に関しては、前回記事を参考のこと

導入

いよいよ、Google Drive/Google Colaboratory/Stable Diffusion web UI を導入してきます。
普通にGoogle Colaboratory上で動かすだけであればもっと簡単にいきますが、自分の目的と合わせるとこちらを選択。

Google Drive(保存場所)の入手

Google アカウントをお持ちの方は既に持っています。
お持ちでない方はGoogle アカウントを入手して下さい、ここは省略させてもらいます。

この画面に行ければOKです。
ログインしてない方はしてください。
画面左下の使用容量を確認して下さい。
他のデータ保存等で利用可能容量が少ない方は、新しくアカウントIDを取り直しましょう

Google Colaboratoryを使って、Stable Diffusion web UI立ちあげ

この章でできること

前提:google アカウントを持っていること

①Google Colaboratoryを使ってGoogleDriveにStable Diffusion web UIのフォルダ(作業環境)を作る
これにより、生成画像のアウトプット(output)先が自動でグーグルドライブになります(消えない)。
②Google Colaboratoryを使ってStable Diffusion web UIを立ち上げる

① Google Colaboratoryにアクセスしノートブックの新規作成とランタイム設定

前項の「GoogleDrive」も開けたままにしておいてください。
google検索で「Google Colaboratory」を検索し、アクセスし、ノートブックを新規作成します。

ノートブックの新規作成には2つの方法があります。

アクセス時のポップアップウィンドウ から

ファイル⇒ノートブックを新規作成 から

ノートブックを新規作成すると、コマンドプロンプトのようなコードを入れる画面が表示されますが、まずは上の「ランタイム」タグから、「ランタイムのタイプを変更」をクリックします。

下のような画面が表示されますので、「ハードウェア アクセラレータ」をNoneからGPUに変更して保存。



コマンドラインの入力場所が表示されまると思うので、以下のコードをいれてきちんと実行できるか試してみましょう。

コードを入力したら、左の▶マークをクリックして、実行します。

!nvidia-smi

成功すればこのような画面になります。
左上が使用したコマンドライン、その下に貸し出されたGPUのスペックが表示されます。

はじめてコマンドを走らせたので、自動で接続状態になり、右上に現在のリソースに関する情報が表示されました。
クリックすると詳細な現在のリソース情報も表示されます。

寄与されるGPUはおそらく毎日変更されますが、無料版の場合は現状はこのTesla T4(15360MiB)が多そうです。
上の有料プランだと、もっと上のスペックのGPUが貸し出されると思います。

ちなみに割り当てGPUに関してChatGPTに質問したところ

GPUに関しては、毎日の貸し出しの種類はランダムですか?ランダムだとしたら、無料版/有料版で種類はどのように変更されますか?

Google Colaboratoryの無料版では、GPUの種類はTesla K80とTesla T4の2種類がランダムに割り当てられます。有料版であるGoogle Colaboratory Proでは、Tesla K80、Tesla P4、Tesla T4、Tesla V100の4種類のGPUが利用できます。ただし、Pro版でもGPUの割り当てはランダムに行われます。

とのこと。
おそらく2021年の情報なので参考程度に。
私が使ったところ(旧GPUの)Tesla K80が割り当てられたことはありませんでした。
ただ、無料版で運よく上位機種というのはなさそうですね。

② Google Colaboratory と Google Driveを連携

次に同じ要領で以下のコマンドラインを実行して下さい。
コマンドラインは、コマンドライン最終行の真ん中あたりにカーソルをもっていくと表示される「コード」をクリックして下さい。

from google.colab import drive 
drive.mount('/content/drive')
!mkdir -p '/content/drive/My Drive/SDUI/'
%cd '/content/drive/My Drive/SDUI/'

上2行がドライブをマウント(連携)するコマンドです。
下2行はマウントしたドライブ「My Drive/SDUI」というディレクトリを作成し、そこに移動するコマンドになっています。
ディレクトリ名の部分は自分の好きに変えてもらって構いませんが、以下の説明ではこのフォルダを使用しています。

コピーできたら、先ほどと同じように、左側の▶を押して実行します。

このようなウィンドウが出ると思うので、「Google ドライブに接続」を押してください。
次に「アカウントの選択」が表示されるので、もう一度このアカウント名をクリックします。


左の画面が出てきたら
許可」を押してください。


このようなメッセージが出たら完了。

マウントが成功すると、フォルダ構成が変わるので確認してみましょう。

左のフォルダマークをクリックすると、ファイルがアコーディオン式に開かれ、先ほどインポートしたフォルダ構成になっていることを確認して下さい。。

③ Stable Diffusion web UIのインストール

多分ここが一番の難所ですが、頑張ってください。

コマンドラインに以下のコードを張り付けて実行(▶)して下さい。
これは、Stable Diffusion本体をダウンロードするコマンドとなります。
※インストールフォルダは

!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd /content/drive/My Drive/SDUI/stable-diffusion-webui

数秒で終了すると思います。
次に、modelとVAEのインストールに移るのですが、私の場合はここでエラーが発生したので、その対応をします。

④ k_diffusionのエラーに対する対応

このまま進めるとエラーが発生するので対応します。
検索用に先に書いておくと、これはK-diffusionの5b3af030dd83e0297272d861c19477735d0317ecに関するエラーの対策です。
少し専門的になりますが、この通り進めれば問題ありません

まず左のフォルダマークをクリックして、作成したフォルダを辿りながらインストールフォルダ(Stable-diffusion-webui)を開きます。

下へいくと、「launch.py」ファイルがあるのでダブルクリックで開きます。

問題を起こすコードはここです。
148行目ですが、バージョンによっては多少ずれてるかもしれません。
その場合は以下の文字列で検索して下さい。

run(f'”{git}” -C “{dir}” checkout {commithash}’, f”Checking out commit for {name} with hash: {commithash}…”, f”Couldn’t checkout commit {commithash} for {name}”)

どうもk_diffusionというのに使うファイルのコピーに失敗するようなのですが、実際は必要のない処理で、そこでエラーを吐いてしまうとのこと。

なので、問題の行の先頭に#をつけてコメント化してしまいます。
現行のバージョンでは148行目ですが、ここは変わる可能性があります。
上記のテキストでファイル検索(CTL+F)して探すほうがいいかもしれません。
結構致命的なバグだと思うので、もしかしたらご覧の方が作業してる段階では既に修正済みかもしれません。
セーブは自動でされますので間違いないよう。
ちなみにこの修正に関しては、自分で気づけるわけもなく、wikiのコメントを参考にさせてもらいました。
このコメントがなかったら、おそらくこの記事はなかったです…

⑤ modelをインストールして、起動(失敗)

私が今回使用するmodelは「Realistic Vision2.0」というmodelです。

Realistic_Vision_V2.0.safetensors:リアル系を得意にするmodel
vae-ft-mse-840000-ema-pruned.ckpt:Realistic_Visionが推奨しているVAE

この場合のコマンドは以下となります。
以下を、自分が使うmodelに合わせて改変してみてください。

!curl -Lo /content/drive/MyDrive/SDUI/stable-diffusion-webui/models/Stable-diffusion/realisticvisionv2.0.safetensors https://huggingface.co/SG161222/Realistic_Vision_V2.0/resolve/main/Realistic_Vision_V2.0.safetensors
!curl -Lo /content/drive/MyDrive/SDUI/stable-diffusion-webui/models/Stable-diffusion/realisticvisionv2.0.vae.pt https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt

%pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchtext==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 --extra-index-url https://download.pytorch.org/whl/cu117
!python ./launch.py --share --xformers --enable-insecure-extension-access

1行目、2行目の!curl文は、右のデータを左にコピーという意味です。
右側に対象のmodelのダウンロードリンクのURLが入りますので、違うmodelが必要な時は応用してみて下さい。
左側は名前変えてもOKです。

今回導入するのはリアルな3D画像を得意とするmodelですが、もし2Dキャラ等を目的とするのであれば「anything4.5」「Counterfeit」「AbyssOrangeMix」「MeinaMix」辺りになるでしょうか。
上記リンクはHugging Faceサイトのダウンロードできるページっぽいところですが、ダウンロードの動作確認はしていません。
有名なmodelであるchilloutmixなどはCiviaiでしか入手できませんが、こちらは(無料ですが)会員登録が必要なので検索してみて下さい。
Realistic_Vision以外を使うときは、上のコードを適宜書き換える必要がありますので、まずは上記コードでealisticvisionv2.0で初期の導入ができるか試してみることをオススメします。
modelデータ自体は後からでも追加できます


コマンドをコピーしたら実行します。

失敗しました(既定路線)

⑥ 追加で実行×2回

先ほどのコマンドの最終行(立ち上げ)を追加で2回行います。。

!python ./launch.py --share --xformers --enable-insecure-extension-access

今度はこの1行のみの実行です。
また失敗すると思うので

!python ./launch.py --share --xformers --enable-insecure-extension-access

もう一度さらに追加します(合計3回の立ち上げコマンドが入ることになります)

上でエラーが出てる気もしますが、下のRunnning on public URLが表示されていれば起動成功
正直なんで2回失敗して3回目立ち上がるのかは分からないですが、この方法で複数回成功してますので今回のお題にした次第です。
テストでは再現性がありましたが、正規の方法とは思えないので、スマートに立ち上げる方法を探してる方は最後の手段にした方がいいかもしれません。

「Stable-diffusion-webui」側のコーディングとこの手法の相性の問題な気がするので、もしかしたら近いうちに修正がはいるかもしれません(そうだといいな)。
であれば、読者の方がやってる時にはこんなpyファイルの変更とか必要ないかもしれません。

また、コマンドの起動等で、現在地が変化することがあるようです。
もし、「launch.pyが見つからない」と言った類のエラーが発生していた場合は

pwd

これで、現在のディレクトリ位置が分かるのでもし移動していたら

%cd /content/drive/My Drive/SDUI/stable-diffusion-webui

で「stable-diffusion-webui」フォルダに移動して下さい。

『Stable Diffusion web UI』を動かしてみる

もう少しだけ続きます。

初期設定

また設定か~と思うかもしれませんが、ここは簡単です。

右側「Setting」タブの「Stable Diffusion」を選択して、上のmodelと、VAEがきちんと設定したものになっているか確認して下さい。
None等になっていた場合は、上のように変更しておきましょう。

お試し画像生成

txt2imgに戻ったら、promptとネガティブpromptに文字を入れて試してみましょう。
一例としてこんなものを用意しました(と言ってもcivitaiからもらってきただけですが)。

prompt

splash art of an enchanting earth spirit druid, dark brown and green two-tone hair, yellow eyes, dress made out of leaves in the (style-swirlmagic:1.1),( swirling leaves magical:1.1) around her, blurry_background, breasts, smile, cleavage, flower crown, natural lighting, windblown hair, looking_at_viewer, solo, highly detailed 8k character concept portrait studio lighting by Annie Leibovitz and Steve McCurry octane render trending on artstation made in Maya 4K high quality digital painting dramatic lighting

negative prompt

nsfw, 3d, cartoon, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, artist name

※本当はeasynegativeというのを入れているのですが、今回はシステム用のファイルが未導入なので削っています。
せっかくの「Google Colaboratory」なのでhires.fxもいれてみましょう。

きちんと実行されたら美女イラストが生成されるはずです。
promptに関しては、色々なサイトで取り扱っていると思うので色々探してみて下さい。

生成されたイラストに関しては、自動的にGoogle Driveに格納されますので確認してみて下さい。

2回目以降の立ち上げ

セッション(12時間ルール)が継続してる場合

%cd /content/drive/My Drive/SDUI/stable-diffusion-webui
!python ./launch.py --share --xformers --enable-insecure-extension-access

エラーが出た場合、%pip install torch~コマンド入りの方も試してみて下さい。

%pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchtext==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 --extra-index-url https://download.pytorch.org/whl/cu117
%cd /content/drive/My Drive/SDUI/stable-diffusion-webui
!python ./launch.py --share --xformers --enable-insecure-extension-access

ブラウザ閉じた場合はこちらの方がいいかもしれません。

セッションを新しく始める場合

① 以前のノートブックを選択(基本的にはこちら)

以前のコマンドを使いたい場合は、その時のipynbファイルをアプリで開きます。
この場合、「Google Colaboratory」のアクセス時に表示されるポップアップから選択してもいいです。。

入力したコマンドを引き継ぎたい場合は、その時のipynbファイルで起動しましょう。

② 新しいノートブックで始める

「Google Colaboratory」のページ行き、ポップアップウィンドウから「ノートブックを新規作成」を選択するか、「ファイル」⇒「ノートブックを新規作成」を行います。

新しいノートブックで始めた場合は、ランタイムのタイプの変更も忘れずに。

コード入力

from google.colab import drive
drive.mount('/content/drive')

%cd /content/drive/My Drive/SDUI/stable-diffusion-webui
%pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchtext==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 --extra-index-url https://download.pytorch.org/whl/cu117
!python ./launch.py --share --xformers --enable-insecure-extension-access

上のコードを入力し、実行(▶)します。
コードに関しては、一度入れれば次回に前回ノートブック(ipynbファイル)読み込みを行えば残っていると思います。
毎回マウント時にGoogleDriveに許可を与える必要があります。
ディレクトリに関しては、記事から変更を加えてる場合は適宜変更してください。
立ち上げには数分かかると思うので待ちましょう。

コードの意味

上2行:GoogleDriveのマウント
3行目:起動に使用するlaunch.pyのフォルダへ移行(初回で生成してるはず)
4行目:おまじない
最後:起動

Stable Diffusion web UIにアクセス

中段あたりのRunning on public URLの右のリンクから。

他のモデルを使ってみたい場合

今回は個人的な趣味から「Realistic Vision2.0」という3D特化で2Dが苦手なmodelを使った方法になってしまいましたが、読者の方には他にお目当てのmodelがある方もいると思います。

「Google Colaboratory」は基本的にはコマンドでのインストール作業が必要なのですが、「Google Drive」で管理している場合はもっと楽な方法もあります。

ローカルフォルダに(Stable Diffusionインストールフォルダ)/models/Stable-diffusionへのショートカットを作っておいてローカルで投げ込むだけ

そうしたら、右のようにgoogleドライブに入るので、あとは立ち上げてそのmodelを選択するだけです。

同じ方法をとれば、EasyNegativeも簡単に導入できます。
Loraは試しませんが、おそらくできるんじゃないでしょうか。
コマンドでリンク指定する場合は記述ミスも怖いので、視覚的に操作できるのは嬉しいですね。

最後に

導入おつかれさまでした

やはり人物はこちらの方が日本人受けしそう(サムネ用)

ここまで読んでいただきありがとうございました。

コメント

コメントする

目次