Google Colabでngrokを利用する
AUTOMATIC1111で画像生成していると時々フリーズを起こしませんか?
私の場合2枚上画像を生成すると高確率で完全にフリーズし生成画像も出なければautomatic1111を再起動しないと使えない状態になります。
結局1枚ずつ生成してきましたが効率が悪すぎるので何とか出来ないかと困っていました。
そこでngrokというサービスを紹介していただき問題が解消されたのでその記録を残します。
ngrokとは
ngrok(エングロック)は、ローカルネットワーク上のサーバーやアプリケーションをインターネットに公開するためのオンラインツールです。
ngrokは、ローカルホストのポート番号を指定して実行すると、ngrokのサーバーにトンネルを作成し、ランダムなサブドメイン名を割り当てます。
このサブドメイン名を通して、インターネット上の任意のデバイスからローカルホストにアクセスできるようになります。これをGoogle Colabで行うことでフリーズ問題が解消されます。
利用方法
まずはhttps://dashboard.ngrok.com/user/signupへアクセスしましょう。
新規でsign upするかGoogleアカウントでsign upするかで自由に選んでください。Googleアカウントで入るのがとても簡単でおススメです。
赤枠にあるYour Authtokenを選択してください。
Authtokenが表示されていると思います。
Your Authtokenのcopyを行いましょう。
ngrokで行う作業はこれだけです。ここからGoogle Colabへ移動してコードの変更を行います。
Google Colabへ移ったらautomatic1111を起動するコードのCOMMANDLINE_ARGSの部分を以下のように変更してください。
!COMMANDLINE_ARGS="--ngrok zzz --ngrok-region jp --gradio-debug --gradio-auth xxx:yyy" REQS_FILE="requirements.txt" python launch.py
zzz:先程のYour Authtokenをペーストしてください。
xxx:USERNAMEを自由に決めてください。
yyy:passwordを自由に決めてください。
この作業が終わったら通常通りにセルを全実行してautomatic1111を起動してみましょう。
URLをクリックしてautomatic1111へ入ってみましょう。
いつもとは違う画面にたどり着きます。
Visit Siteを押して進みましょう。エラーやページが表示されない場合は数秒待ってから入りなおすと行けるはずです。
ログイン画面が表示されました。
ここで先程のxxxとyyyの項目を入力するとログインでき、いつものautomatic1111の画面へ移動できます。
これでngrokを利用してautomatic1111の利用が可能になりました。
フリーズ問題が解消されスムーズな生成が可能になります。
気になる事
拡張機能を入れた場合フリーズ起こすことが増えた気がします。使わないときは拡張機能は入れずに使った方が安定性は上がるようです。
automatic1111のバージョンが上がり現在txt2imgで生成した画像をインペイントへの移行したりするとエラーを起こしたりしますが原因は不明です。(2023/3/26)
Paperspaceで利用すると不正なアクセスとしてBANされるようです。Paperspaceの利用者は危険なので利用しないようにしてください。Google Colabでは今のことろ問題は出ていないので大丈夫だとは思いますが注意しましょう。