オタSEの日常(仮)

基本的に日記帳。概ねゲーム関連の垂れ流し

03/13-03/19のあれこれ

ひたすらWBCか配信見ながらAI擦ってるかK2読んでるかの二択の日々。

作成した画像の抜粋はここに。

www.aipictors.com

 

 

ちなホロ4thはスルーした。冷静に考えるとセトリ見てもあんまり目新しいわけでもなし、その上現地ありの配信映像は正直無料ライブ未満だし、コールも聞きたくないし、金出す理由がなさすぎるなってなってしまった。

 

現地イベントが儲かるのはわかるんだけど、ホロはなにかにつけライブライブライブでまったく見新しさがないのそろそろこう、なんか対策した方がいいと思うの。

アイドル箱としてはライブ重ねるのは別にいいと思うんだけども。

個人の誕生日・周年もライブ、箱の周年もライブ、歌うものも似たりよったりで前者は無料3D、後者は有料現地あり壁画じゃなぁ……。

AR言うても現地モニタに囚われてる時点で壁画な事は変わりないんよ正直。

現地画像なんか1ミリもいらないから動作だけシンクロさせた配信専用背景にでものせてくれりゃいいのに。まぁ無駄に金と手間かかるから絶対やらんだろうけどさ。

 

にじの方はそもそも普段3Dライブ活動メインな人自体が少ないからそれでも別にええかってなるし満足もするんだけどね。箱イベ基準だと映像的にもこっちの方が凝ってる事多いってのもあるけども。

03/06-03/12のあれこれ

手術してきました。

わりと気楽でいたけど手術室入った時は正直若干緊張した。

けどこれ漫画とかで見たことある機械や!みたいな変なテンションの上がり方もしたw

摘出した腫瘍見せてもらったけどデッカグッロwwwとかしかならんかったわw

術後はたまに若干痛いと言えば痛いか?ぐらいで痛み止め飲んでれば特になんもない程度。

 

Stable Diffusion

www.aipictors.com

最近の成果は概ねここに。

貼るだけで情報全部入れてくれるから楽でいい。

 

しかし最近ほんまアスナ(のようなもの)しか触ってねーな。

NAIでいじってた頃の自作造形はモデル違うから触ってもいまいちなんかこう、ちゃうねんなってなるからモチベが上がらんw

 

これに関しても自分好みの造形出てる状態のを色々加工してLoraとかで補強して出せるようにしていくべきなのかもしれんがめんどくs

そうすりゃ髪の跳ね部分の有無とかリボンとか血盟衣装時のケープ部分とかも安定するんだろうけどなぁ。

既存Loraもあるけど当然アニメ絵とかに寄りすぎるのであんまり好きではないんよね。

今のこのいかにもこのモデルで生成しました、ってのと元キャラとの間ぐらいの奴が好き。

おぼえがき(改訂版):Google Colab + Google DriveでStable Diffusion(+α)動かすやつとか色々備忘録

※自分用にしても使いにくかったので完全(?)版として起こし直し。古いのは消します。

課金しよう(Google Colab)

身も蓋もないけど。
ColabはPro以上に。nVidia A100(普通に買ったら100万以上する)使えるし、無料枠は色々と不便すぎて話にならないので。
ProとPro+に関しては大規模な生成裏で流しっぱなしにしたい、とかでなければPro+である必要はない。
ただコンピューティングユニットに関しては丸一日起動していじってる、とかやってると平気で100とか持っていかれるので見越してPro+にしとくか、はあり。
※値段自体は付与されるユニット数と同数のユニットを購入するのと同額なので
詳しくは下記画像見て(現時点のもの)

従量課金なので結構かからないか?って思うかもしれないけど、SDをストレスなく動かせる性能のPCを用意するにも、ゴリゴリ動かそうとすると電気代も結構持っていかれるのでさほど高くはない(はず)。
あとAI用途のマシンはかなり酷使するから消耗も激しくて常用マシンにしにくいってのもある。

しばらく触らんな、ってなったら無料プランに戻しておけばいいしね。

Colab以外のクラウドサービス使ってもいいけど、単純に情報が多くてわかりやすくて楽って部分は多大なメリットだと思う。
そこらは自分の知識とか料金とか用途とか頻度とかと相談して決めよう。

課金しよう(Google Drive)

Colabは仮想環境なので接続解除するとすべての環境が失われる。
つまり使うたびにインストールからしないといけない。クソめんどいし時間もかかるしその間の負荷でも金かかるのでもったいない。
ColabはDriveに接続して使うことができるので、Drive内にインストールしてしまえばいちいち消える事もなくなる。
ただモデルなども含める結構なサイズになるため、無課金だとサイズが足りなくなる。(他に使ってなくて最低限程度とかなら足りるかも)
Driveは年間2500程度(月200円ちょい)で100GBまで容量増やせるのでとっとと課金してしまう方が楽。
少ない容量でColabやりとりしたり仮想環境に一部入れたりしてるとそのやりとりだけで月200円分のユニットなんて消費しちゃうのでは?説もある。

Colabのセットアップ

Colab開いて新規ノートブック(=仮想環境)作成する。
メニューバーの「ランタイム」から「ランタイムのタイプを変更」。
ハードウェアアクセラレータをGPUに変更、GPUクラスをプレミアムに変更。
これでA100(かV100)が使えるようになる。遅くても課金減らしたい場合はプレミアムにしなければ良い。
逆にGPUスペック低くてもメモリが欲しい使い方する場合はハイメモリを選ぶ。
どちらも欲しいならプレミアム+ハイメモリにすればいい。

事前準備

GoogleDriveに適当なフォルダを掘っておく。
Driveを接続すると「MyDrive」として認識される。
ここでは
/MyDrive/Colab
/MyDrive/Colab_Models
/MyDrive/Colab_Models/embeddings
/MyDrive/Colab_Models/Lora
を作成して使っていくとする。(任意に変更してOK)

コードの登録と実行

「+コード」ボタン押してセルを追加し、そこに記述する。
実行はShift+Enterもしくはセル左にある再生ボタンみたいなものをクリック。
なんらかの理由で停止する場合は同ボタン(停止ボタンに変わってる)をクリック。

# 毎回実行(ドライブの接続)
from google.colab import drive
drive.mount('/content/drive', force_remount=True)

Google Driveを接続する。
毎度認証のポップアップ出てくるのがめんどいが、使用するたびに実行する必要あり。

# 環境構築時用git clone
%cd /content/drive/MyDrive/Colab/
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

AUTOMATIC1111版のインストール。初回のみ実施する。

# ControlNet環境構築用git clone
%cd /content/drive/MyDrive/Colab/
!git clone https://github.com/Mikubill/sd-webui-controlnet /content/drive/MyDrive/Colab/stable-diffusion-webui/extensions/sd-webui-controlnet

ControlNetのインストール。初回のみ実施。ControlNetを使わないなら不要。

# Merge Block Weighted環境構築用git clone
%cd /content/drive/MyDrive/Colab/
!git clone https://github.com/bbc-mc/sdweb-merge-block-weighted-gui /content/drive/MyDrive/Colab/stable-diffusion-webui/extensions/sdweb-merge-block-weighted-gui

Merge Block Weightedのインストール。初回のみ実施。使わないなら不要。
ckpt→safetensorの変換に使うので入れといた方が無難。

※追記(2023/03/07)
CheckPointManagerでもできるから別にいらんかもしれん

# 実行時用最新化(本体)
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui
!git pull https://github.com/AUTOMATIC1111/stable-diffusion-webui

本体の更新用スクリプト。バージョン上がった時などに実施するが、事前に情報収集はしておくこと。
基本的に普段は触る必要なし。

# 実行時用最新化(ControlNet)
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui/extensions/sd-webui-controlnet
!git pull https://github.com/Mikubill/sd-webui-controlnet
# 実行時用最新化(Merge)
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui/extensions/sdweb-merge-block-weighted-gui
!git pull https://github.com/bbc-mc/sdweb-merge-block-weighted-gui

プラグイン更新用のスクリプト。どちらも必要な時に実施。

※初回構築時は以下を実行する前にモデルなどの必要なデータ投入を行うこと

# WebUI起動
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui
!COMMANDLINE_ARGS="--share --deepdanbooru --gradio-debug --gradio-auth USER:PASS --ckpt-dir /content/drive/MyDrive/Colab_Models --xformers --lowram --disable-console-progressbars --embeddings-dir /content/drive/MyDrive/Colab_Models/embeddings --lora-dir /content/drive/MyDrive/Colab_Models/Lora" REQS_FILE="requirements.txt" python launch.py

起動用。一回セットアップしたら以降普段は最初のドライブ接続とこれだけ叩けば動く。
以前の記事でも書いた通り、gradio-authのところのWebUIのログイン認証用ユーザ・パスワードなので、USER:PASSは必要に応じて書き換えること。
※起動したWebUIは公開されてるので、URLクロールされて乗っ取られる(≒無駄金取られる)可能性がある

ランタイム接続後の初回は4~5分ぐらいかかる。以降停止して再起動する場合は1分かからない程度。
起動に成功すると以下のログが出る

Running on local URL:  http://127.0.0.1:7860
Running on public URL: https://****.gradio.live

gradio.liveの方のURLを叩けばログイン画面が開くので動かすだけ。

※追記(2023/03/07)

    • xformersついてるけどGPUがA100だと生成時有効にならない

現状では対応するものがないっぽい。自分でビルドしておけばいけるっぽいけどColab上でのやり方がよくわからん

ただgradio公式ではColabでセルにエラーとか出したいならdebugにしろってなってるのでどちらがいいのかは謎
→ 外したら起動時に"RuntimeError: Cannot add middleware after an application has started"で落ちるようになった
つけっぱでええか (2023/03/08追記)

    • gradio-queueつけると長時間の処理してもタイムアウトしなくなるっぽい

※2023/03/13追記
gradioくんちょいちょい死ぬのでngrok経由の方法も一応。
・ngrokでアカウント登録する(google連携とかでいい)
・左メニューの「Your Authtoken」選んでトークンをコピーしておく
・WebUI起動用のコマンドラインを変更する

以下を削除
--share

以下を追加
--ngrok コピーしたトークン --ngrok-region jp

これだけでOK。gradio-debugとかqueueとかは入れっぱなしでいい。
初回起動がgradioの倍ぐらいかかったのでそこは注意。
※動きはするけどgradioのアドレスとかも出るから多分なんか余計なことしてる。動くからまぁええかの精神


また表示されるアドレスが「公開用アドレス」→しばらく待つ→「ローカルアドレス」の順に出るが、ローカル出るまで公開用アドレス叩いてもエラー出るだけなので注意。
(俺は公開成功してるけどローカル叩け無いンゴみたいなエラーが出る)
※その後gradioのアドレスも出る()

# 出力をzipに保存
!zip -r /content/drive/MyDrive/sd.zip /content/drive/MyDrive/Colab/stable-diffusion-webui/outputs 

WebUIで出力した結果をまとめてドライブ直下のsd.zipに保存する。

# 出力結果をクリア
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui/outputs/txt2img-grids/
!rm -rf *
%cd /content/drive/MyDrive/Colab/stable-diffusion-webui/outputs/txt2img-images/
!rm -rf *
# zipも消す
%cd /content/drive/MyDrive/
!rm -r sd.zip

出力結果、及びsd.zipを削除する。
※こまめに消さないとGoogleDriveの容量あっという間に持っていかれるため

この保存~削除あたりはもっと便利なの公開してる人もいると思うw

起動時のエラー対処例/k-diffusionのハッシュ


こんな感じのエラーが出た場合(現状は多分ほぼ確実に出ると思う)は以下のコードを実行する。

# repositories/k-diffusionがどうのこうの言われた時は以下でハッシュ撮ってlaunch.pyの該当の箇所書き換える
!git -C repositories/k-diffusion rev-parse HEAD

そうすると以下のような画面になる

そしたらMyDrive/Colab/stable-diffusion-webui/にあるpython.pyを開く。
(ダウンロードして編集して上書きアップロードでも、PCにドライブ接続して編集でもなんでもいい)
以下の「k_diffusion_commit_hash」部分を探して後ろにあるハッシュを取得した値に書き換える。

※PCにドライブ接続して直接書き換えた場合、反映されるのに若干間があるので少し待ってから試そう

起動時のエラー対処例/libnvinfer.so.7

※長いので抜粋

これ消したい場合は以下を実行

# WebUI起動時にlibnvinfer.so.7/libnvinfer_plugin.so.7がどうのこうの言われた時用
!pip install tensorflow-gpu==2.5.0

ただこれそのままでも普通に動くので必要なのかはよくわからん。
※StableDeffusionのファイルではなく環境のファイル置き換えてるので、ランタイム接続毎に実行が必要。

その他のエラー

基本的にはエラーの文章読んで頑張るしかない。
各種解説サイトとかwikiに事例がいっぱいあるのでそこ探すか、エラー文そのままコピペしてぐぐって海外サイトひっかけて頑張るか。
ちなみに俺に聞かれても多分わからない()

モデルとかの追加

/MyDrive/Colab_Models:モデル、VAEの類
/MyDrive/Colab_Models/embeddings:embeddings用
/MyDrive/Colab_Models/Lora:Lora用
まんまだけどこれらのファイルはここに格納しよう。
モデル関係は基本的に
https://huggingface.co/models
ここから拾ってくるが、各所でモデルの特徴とか解説してるサイトいっぱいあるのでそこで見比べて持ってくるといい。
VAEはモデルに付随して置いてあることが多いからそこから拾ってきて、色々試してこのみの発色するもの探そう。

embeddingsとかLoraは学習に関係するものだけど、配布されてるものが多いのでそれらを利用する時用。
embeddingはネガティブまとめて指定してくれる系の奴が便利なので、EasyNegativeでぐぐって調べると吉。
Loraは自分で作らなくても結構公開されてるので、このキャラで遊びたいんだけどモデルがいまいち反応してくれないんだよなぁ、って時は探してみるといい。
詳しくはcivitaiでぐぐれ。使用は自己責任でどうぞ。

ちなみに自分が使ってるのはモデル:anything-v4.5 + VAE:kl-f8-anime2。

モデルの配置の仕方は複雑なことしたくない人は普通にDLして、任意の場所にULしなおせばOK。
モデルは数GBあるけどそれなりの速度出る環境なら多少でかい奴でも数分。
速度が欲しいならColabでaria2をインストールして、直接ダウンロードコマンドを投げれば上げ直す部分を省略できるのでかなり早い。
以下のコマンドでできるはず

!apt-get -y install -qq aria2
!aria2c --console-log-level=error -c -x 16 -s 16 -k 1M URL -d PATH -o FILENAME

URL:拾ってくる先のURL
PATH:インストール先のパス
FILENAME:保存するファイル名(もともとのファイル名部分そのままでOK)

WebUIあれこれ

UI変更

WebUI立ち上げたあと、Settings→UserInterfaceからQuicksettings listの中身を

sd_model_checkpoint,sd_vae,CLIP_stop_at_last_layers

に変更しておくと便利。
変えたらApply Settingsして、多分プロセス再起動しないと駄目だったと思う(リロードとかではなくColab上でWebUIを停止して再度実行)

ちなみにモデル(これは最初から)、VAEなどは上部に追加されるドロップダウンで変更できるが、選んだところからロードが走って結構時間かかるのでしばらく待つこと。
UIでもわかるけど終わったらColab画面の方にロード完了のログが出るのでそっち見てた方がわかりやすいかも。

初期設定

WebUI立ち上げたあと、毎度設定変えるのめんどいなって人はstable-diffusion-webui直下にあるui-config.jsonの中身を書き換えればいい。
ただのテキストファイルなので中身読んで、目的の設定のvalueのところ書き換えるだけ。

設定とか

自分の使ってる設定例。これは好みだとか生成する内容とかに大きく依存するのであくまで参考に。

Sampling method:DPM++ SDE Karras
Sampling Steps:40
Width:672
Height:896
CFG Scale:11

Hires.fix:ON
Hires step:30
Denoising:0.6
Upscale by:1.5

基本的に指示に従って欲しいのでCFG Scaleは高め。
指示少なめでガチャで大当たり引きたい人は7以下とかにした方がいい。
俺はこういうキャラでこういう絵作れよ余計な事するなよ!って指示したいのでこんな感じ。

サイズはもうちょい小さい方が早いし複数人化けも起こしにくいと思うけどせっかく高性能環境使えるんだしなぁっていうアレ(てきとう)。

HiresのDenoisingは低すぎるとノイズが多く、大きすぎると元絵から離れやすくなる。
特にエフェクト多い奴とかはそこでおかしくなって元は大丈夫なのにHiresのせいで破綻するとかもあるのでよく考えて入れたほうがいい。
明らかにおかしいな、と思ったらSEED固定してHires切って確認するのも手。

WebUIのエラー/無反応

WebUI側が無反応になった場合。わかりやすいのはGenerateボタン押してもColab側に生成ログが出ない時。
時間のかかる生成などを実行するとほぼ確実にこれになる(バッチサイズを複数にするなど)。
この場合はWebUIリロードすれば元に戻る。プロンプトや設定は入れ直し。

※無反応になっても画面に結果が戻ってこなくても実行自体はされてるので、/content/drive/MyDrive/Colab/stable-diffusion-webui/outputs/に出力は保存されている。

WebUIのエラー/エラー画面が出た時
No interface is running right now

みたいなメッセージが出た場合はColab側のWebUIプロセスを上げ直さないと解消しない。

WebUIのエラー/NANがどうのこうののログが出てた

生成した結果なんかブランクできちゃったんで弾きましたの意。
※エロ制御外さずエロが生成された場合も同じような動作する(メッセージは違う)

エロいの作りたいんだけど

BANされてもいいなら構わないけどColabとかクラウドサービス使ってる時はやらない方がいいと思うわよ。
そりゃもちろん絶対されるって訳じゃないけど……。

ControlNet

使い方は解説サイトいくらでもあるからそこで調べてw
ControlNetはそれ用のモデルが必要なので投入も忘れずに。
設置する場所はここ:Colab/stable-diffusion-webui/extensions/sd-webui-controlnet/models

Merge Block Weighted

以下のサイトを参考にしよう!()
economylife.net

02/27-03/05のあれこれ

来週末手術になったので今から怖いンゴ。

規模の大きなものではないけど、逆に部分麻酔でやるにはちょっとでかいけど症状に対して全身麻酔はちょっとリスク大きいから部分麻酔で頑張りましょうってなったので怖い()

 

こだわりラーメン館

概ね終わったけど最後の奴の全員常連が終わる気配なさすぎてこれ時間切れになるのでは?ってなって萎えてる

 

Stable Diffusion

色々いじりたおして生成しまくった結果死ぬほど金使ってる(ユニットに)。

でも自前でAI用マシン組んだら初期費用無視してもランニングコストが多分とんでもない事になるから多分これでええんや。

クラウドならモチベ明らかに高い時しかそんなに回さないけど手元にあったら無意味にバッチでぶんまわし続けるだろうからなぁ……

 

成果物いろいろ

アスナ大好きおじさんになってるけどまぁめっちゃ好きだからね、あんまり言ってないだけで

 

破綻してるのもちょいちょいあるけど、現状色々試してるだけなのでまぁよし。

StableDiffusionのColab導入+色々導入はちょっと更新あったので別記事であげときます。

02/20-02/26のあれこれ

木曜祝日休み→金曜出勤→土曜休み→日曜出勤→月曜通院休み→火曜出勤が飛び石すぎて働いた気もしないし休んだ気もしないっていう微妙感

Stable Diffusion

先日別の記事に書いたようにSD環境をクラウドに構築して遊べるようにした。

これはNAIでやってたキャラのプロンプトをSD向けに書き換えただけのもの(テスト)。

記事にも書いたけど多少の課金でA100(100万以上する)が使えるって考えると安い。

けど従量制であることには変わりないので立ち上げっぱなしで色々考えたり他の事しながらとかはやりにくいw

(SD起動してると、操作しなければGPUは消費しないけどプロセス動いてる事にはかわりないのでちまちま消費するので精神衛生上あまりよくないw)

 

あとおかしくなってるのか遅いだけなのかいまいちわかりにくい時がちょいちょいあるのがちょっとだるい。

特にStep多め+高解像度とか枚数多めの生成した時。

ログが流れてる間はいいんだけど止まってる時がどっちだ……?ってなる

 

ローカル環境欲しいけどそのためだけにRTX買って6800XT捨てるのはなぁ……

ケースも小さめだから選択肢狭いのも難だし。

 

まいんくらふと

めっさんとかホロの新鯖とかで観測範囲内のマイクラがちょっと活発になった関係で熱が若干戻ってきたけど特にやりたい事ないんよな定期してる。

公開サーバー適当に探して参加するのもいいかな?と思ったけどクライアントMODの制限あるとこ多いのがめんどいんだよなぁ。

Optifineが更新遅いからSodium系+Optifine代替用の細かいMOD大量に入れてる関係でそれ全部ホワイトリストに入ってるとこまずないんよな。

 

めんどくさくなったのでローカルサーバと環境更新して久しぶりに起動した()

そしたら

なんだこれ……?ってなった

手持ちだけならなんかやってコマンドで呼び出したりしてそれでミスったとか?と思わなくもないけどシュルカーに入ってた予備の奴にもついてたんだよな。

で、もともとエンチャントしてない他のストックのエリトラにはついてなかった。

自分でやったとは考えにくい、というかエリトラなんか予備いっぱいあるから仮にロストしてもコマンドで呼び出すぐらいキレ散らかす事はないと思うんだよな……

なんなんだこれ?

コマンドで無理やりエンチャントつけられる関係上、変なのついてても特に何も起きないはずだけど一応剥がして耐久IIIと修繕だけつけなおしといた(2つとも)

 

で、結局自前の鯖起こし直してもやること特にないんよな(振り出しに戻る

 

こだわりラーメン館

やりたくなったので手を出した。どうしてもプレイングは社長っぽくなるなw

とりあえずカイロ村入って8段、ランク48。ひたすら作り捨て連打してる()

やめ時が見つからなくなるから無限に擦ってしまうな……

 

 

02/13-02/19のあれこれ

転院先で人生初のMRI受けてきた。予想以上にうるさかったわ……。

MRI結果でも特に所見変わらなかったのでこちらでの病理待ち。

 

ホグワーツレガシー

一旦メインはクリアした。

ラスダンだと気付かないというか何も考えずさくさく進めてそのまま突入したので装備の強化もまともにしてないし特性もクルーシオとペトリフィカストタルスの強化で染まってたので色々と無駄なもの積んだままのラストバトルだった()

クリア時点でのSteamのプレイ時間は62時間。かなり寄り道はしてる。

 

メインストーリー

わりと好き、特にラスダンはなかなか熱い。

でもブラック校長にはペトリフィカストタルスしたい。こいつはほんまに

 

戦闘まわり

何やってても別に勝てるので何を主軸にしていくかは好みでいい。

個人的にはステルスキル(からの力押し)楽しかったのでこれメインだった。

忍び寄ってペトリフィカストタルス以外にも、姿消して物陰からグレイシアス>ディフィンドとかでワンパンして隠れ直すとかでもいける。

一応ワンパンできなくてもグレイシアス>ディフィンド>もう1発なんか、あたりを連続で撃ち込んで殺しきれば発覚はしない。

トロールとかもペトリフィカストタルス1発で殺しきれなくても、すぐ物陰に戻る→背後から再度ペトリフィカストタルスとかでステルスキルは一応できる。

 

アバダケダブラ覚えてからは、強化クルーシオ>通常で呪いばらまいて強化アバダケダブラでまとめて薙ぎ払ってもいいけどリキャストめっっっちゃ遅いので結構使いにくい。

 

単純に強さとか効率求めるなら強化集中薬使って呪文連打するか、強化噛み噛み白菜適当にばらまくのがいいと思う。

集中薬効果中のリキャスト凄い速さで戻るし、噛み噛み白菜は自分の通常攻撃より強かったりするから適当に放り投げておくだけで強いw

 

クリア後

スクショの通り本編中の一区切りの時のように普通に部屋に戻って普通に始まるw

色々遊べるだけかなと思ったらメインクエストのアイコン出てきたわ(まだそこやってないから何なのかは見てない)

 

とりあえずもうしばらくは触ってるかなー多分。

まだおもろいし。今日とかほぼずっと箒乗って試練探しながら飛んでるだけだったけど普通に楽しいわw