[TIPS]Cutout realism using LoRA block weights
Added 2023-02-23 04:36:41 +0000 UTCLoRA block weight
下記スクリプトを使用しました。
2/23時点ではインストールしただけで(無効化状態でも)速度低下しますので注意です(詳細は文末に記載)
記載の通りで動作するのですが、
extensionではなくscriptへの配置指示があるのが注意です。
加えて、webuiでインストールした場合はextension配下に配置されますが、
この状態でextensionとscriptのどちらにもファイルを配置してしまうと、重複動作となっているのかまともに動作しません。
(気づかす原因特定に苦労しました)
基本的には
1. XYZplotで各階層の影響を調べ、
2. 調整したい階層のweightを弄ったプリセットを作成
3. プリセットをLoRAへ適応
との流れになります。
下記が階層調査結果です。
IN05〜IN08が顔に強く影響する傾向だったので、これらの階層のweightを0、
OUT03も若干影響があるので0.5としました。
これら調整結果が今回の画像になりました。
万能に見えるスクリプトですが欠点もあります。
- LoRAによって影響内容や階層が異なる可能性が高い
別LoRAも調整したのですが、OUT04にほぼ全要素が集中しており、要素毎の調整ができない構造でした。
- 生成速度低下
2/23verの場合、実行毎にLoRAの読み込み→クリアが入る関係で
実行直後にLoRAロード待ち時間があり、これがなかなか辛いです。
加えて、非active状態でもpostprocess時にクリア処理が入るため、
実質インストールしただけで速度低下することになっています(これは改善してほしい...)
一応以下で非active時はクリアしないようにできました。
変数位置がずれるとアウトなので根本対処は作者様へ依頼かなと思います。。
lora_block_weight.py
def postprocess(self, p, processed, *args):
-----以下に変更----
if args[1]:
import lora
lora.loaded_loras.clear()
-----ここまで----
Comments
絵柄をきちんと固定できないのはAI任せの弱点ですね...特に顔はもう少し戻したいです。 調整し甲斐はあるのでもう少し粘ってみます。
2023-02-24 10:54:51 +0000 UTCリアルというか実写感というか、くっきりしすぎてくるとまた別の感じになってきますものね。初期の絵的な感じも好きだったので、なるほどなぁ、と思ったりです
でぃらいとー
2023-02-23 06:59:02 +0000 UTC