見出し画像

素人がGoogle ColabでStable Diffusionを動かしてみる話(その1)

Pythonの事など、全く解らないまま、いろいろWeb記事をなんとかStable Diffusionをローカルで動くようにできた。しかしながら、うちのPCのVRAMは4G(後に6Gに微増。それ以上は電源も交換する必要があったので断念)。画像生成に時間がかかるし、RoLA学習にチャレンジするもメモリ不足で上手くいかず。ネット上では6GのVRAMでできる、というような記事もあったのだけど、複数試して見るも、ウチではだめでした。
ということで改めてGoogle Colabで動かしてみることにチャレンジ!

1.環境を整える ~苦渋(笑)の有料化~

まずは何はともあれColab。結局のところ"100コンピューティング”ってどんだけさ? と思わなくはないが、使い方は人それぞれだろうし、自分にとってそれが一月分として充分なのかどうかはわからないので、いろいろ考えるのは諦めて課金してみる。お試しなので "Pay As You Go"で1回払いきりで。

次にgoogleドライブ。なんで? と思われるかもしれないが理由は後述。
お試しで安くなる期間があるらしく、100GBに増量で1年間は120円/月(13ヶ月目以降は250円/月)。ちなみにこちらは必須ではない。

2.動かすためのコードを拾ってくる(笑)

ここから先は素人故に用語を含め間違いがあるかもしれないことはご容赦の上で。
Colabは使えるようになったけど、以下のような画面が出てきても、どうやって使うのかはわからない。

とにかく動かしてみたいのだけど・・・ということで利用にさせていただいたのは以下のページ。

https://github.com/camenduru/stable-diffusion-webui-colab

"Colab" 以下の表から、使いたいModelを探して左側のいずれかのボタンをクリック。よく見かけるところではアニメ系だと"anything"シリーズ、実写系だと"chilloutmix"とかでしょうか。
3種のボタンは上部に解説があるとおり。"stable"が拡張機能の”ControlNet"も実装してくれる。"nightly"は安定性は度外視しして、とにかく最新版っぽい。

とりあえず、"anything-v5v3"の"lite"をクリックしてみる。
(あ、googleにはログインしておいてください)。
すると、こんな感じの画面になります。

上部の「ドライブにコピー」をクリックするとタイトルが”***のコピー”になって自分のgoogleドライブにコピーされます。もとのページは閉じてOK(というか紛らわしいので閉じたほうがいい)。
ちなみにこのColabのノートブックはgoogleドライブの"Colab Notebooks"というフォルダに保存されるので、次回以降は自分のドライブから、起動可能。

3.動かしてみる

以下の再生ボタン?をクリック。
モデルのダウンロードなどが必要なのでそこそこ時間がかかる。
”Public WebUI Colab URL: https://*******.live”が出てくるまでひたすら待つ。この記事を描きながら起動していたところ、約9分。
ただ、ここからはColabの”コンピューティングユニット"というやつが消費されているので、ほったらかしにしすぎて忘れないように(笑)。

これでStable DiffusionのWebUIが立ち上がるので、とりあえず普通に使用できる。試しに作ってみると・・・速い!! 感動ものである。

4.とりあえず止め方

直感的に、左上(上図では再生ボタン)の停止ボタンを押せばいいか・・・と思うのだが、それだけでは"コンピューティングユニット"が消費され続ける。
下図の右肩にあるプルダウン(状況によって表示されている言葉は変わる)で、「リソースを表示」を選択すると、現在の残りコンピューティングユニット数や1時間当たりの使用率がわかったりするのだけど、この使用率が”0”になっていないと垂れ流している状態らしい。

ということで「セッションの管理」から開いたウインドウで、現在のセッションのゴミ箱マークを押すと、使用率が”0”になって、完全に停止した状態になるようである。

もっとも、これはこれでぶち切り感が強いので、もっとスマートな停止方法があるのかもしれないけど・・・

5.この方法のデメリット

これだとPythonのコードなど全くしらないままでもそれなりにStable Diffusionが使えて助かるのだけど、デメリットもいくつか。

・モデルの切替ができない。
読み込んでいるモデルが1種類のため「他のモデルだったらどうだろう?」と思っても、他のモデルを読み込むには10分程度の再起動時間がかかる。

・拡張機能が限定される
概ねメジャーな拡張機能はあるものの、他にも使いたい機能はある。

・LoRAが限定される
拡張機能と同様に、LoRAも限定的。

これれは多分、他に初心者向けに紹介されている方法でも同様。
結局のところ、Pythonのコードに挑まなければなんともならないのかな・・・ということで、そこにチャレンジしてみた話は次回。今回触れなかったgoogleドライブについてもそちらで。

6.おまけ

今回、使用した"anything-v5v3"の"lite"で自動的に設定された拡張機能やLoRA等はこんな感じでした。

拡張機能
LoRA
Textual Inversion

この記事が気に入ったらサポートをしてみませんか?