すっごく久々の記事になります。
GoogleColaboでStable Diffusion Web UIを利用していて、ランタイム接続を解除し忘れたり、寝てしまってずっと接続してた、なんてことありませんか?
その間もリソースが消費され、お金がもったいない。
ってことで、下記のコードを入れることで回避してます。
割愛
# ここから
# ====================================================================================================
import threading
import time
from google.colab import runtime
def cut_connect():
# 一定時間後に切断
time.sleep(3600 * 2)
runtime.unassign()
thread_cut_connect = threading.Thread(target=cut_connect)
thread_cut_connect.start()
# ====================================================================================================
# ここまで
割愛
try:
model
if os.path.isfile(model):
!python /content/gdrive/$mainpth/sd/stable-diffusion-w$blsaphemy/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae --ckpt "$model" --xformers $auth --disable-console-progressbars --skip-version-check $ckptdir
else:
!python /content/gdrive/$mainpth/sd/stable-diffusion-w$blsaphemy/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae --ckpt-dir "$model" --xformers $auth --disable-console-progressbars --skip-version-check
except:
!python /content/gdrive/$mainpth/sd/stable-diffusion-w$blsaphemy/webui.py $share --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae --xformers $auth --disable-console-progressbars --skip-version-check $ckptdir
上記は2時間後にランタイム接続が解除されるコードになります。
ホント、なんてことないんですが、誰かのお役に立てれば。
Stable Diffusion Web UIでスクリプトなんか組んで放置する、みたいな使い方をしていると、ついついリソースを無駄に消費してしまいますよね。