広告
広告

Stable Diffusion のファインチューンの Tips

カテゴリ:deeplearning

目次

概要

間違いやすいポイント

Textual Inversion と Hypernetwork のタグの違い

VRAM 8GBだが学習ができない

前処理

学習画像に2人以上人がいる

Danbooru タグの検査

画像のキャプションファイルに書くタグ例(学習させないタグ)

画風の定義

学習画像のキャプションファイル

複数のアスペクト比で学習させる

設定

プレビューの固定

CLIP Skip は任意

VAE は外しても外さなくてもいい

Hypernetwork を外す

Hypernetwork strength を1に戻す

Quicksettings(UI 上部に設定を表示)

学習用の ui-config.json を使う

学習時

良くない兆候

崩壊した後に持ち直すのを繰り返す

学習率と局所的最適解

ステップ数より epoch(エポック)が重要

Loss の監視は無意味

学習画像ごとに Loss を出力する

学習の失敗

Hypernetwork

Hypernetwork でキャラの学習と使用

活性化関数選び

Layer Normalization を有効にする場合は学習率を大きくする

Wide VS Deep

画風学習用の設定例

キャプションファイルに名前を入れる

Textual Inversion

Textual Inversion でやりがちなミス

覚えてほしい特徴と覚えてほしくない特徴

パーツ学習の問題点

Dream Artist を使う

Textual Inversion でネガティブな要素を学習させる

Dreambooth

チューニングする予定のモデルで正則化画像を作る

Preprocess(前処理)

画像加工ツール

学習テクニック

学習データ

Textual Inversion でキャラを学習させる場合のタグ

画風を学習させる場合のタグ(Textual Inversion・Hypernet)

Textual Inversion

Dream Artist

Hypernetwork

Dream Booth

Aesthetic Gradients

VAE の埋め込み

LORA

Custom Diffusion

その他の情報

概要

このページでは AUTOMATIC1111 を使ったファインチューンの Tips を扱う。

画風を学習させる場合、Textual Inversion より Hypernetwork の方がよい。なぜなら学習時間が短いからだ。Use deepbooru for caption を使えばタグ付けも自動化できる。

Textual Inversion や Hypernetwork の学習は、学習画像のサイズが 512x512 なら VARM 8GB の RTX 3050 でもできる。ただし VRAM を解放するために実行前に webui の再起動が必要になる。モニターを複数枚使っている場合、VRAM が不足することがある。そのため快適に学習させたければ、VRAM 12GB 以上の GPU を使うか、Google Colab を使う。

Dreambooth を使って学習させるには最低でも 12 GB の VRAM が必要になる。

Textual Inversion はテキストエンコーダーを調整する。Hypernetwork はテキストエンコーダーと U-Net との間に追加のネットワークを挿入して、その追加ネットワークを調整する。

ディープラーニングチューニングプレイブック日本語版

ハイパーパラメータチューニングに関する手順が解説されている。

まとめ

Hypernetwork

画風の調整に向いてる。学習時間が短く準備の手間も少ない。ファインチューニングは、まず Hypernetwork から挑戦してみるのがいい。

Textual Inversion

デフォルトの状態で呼び出せる人や物を語に覚えさせたり、トークンを節約したりするのに使う。描く能力はあるが呼び出し方がわからない人や物を呼び出せることがある。Hypernetwork に比べて学習に時間がかかり、背景を塗りつぶしたり、タグ修正したりする手間が追加で発生する。

Dreambooth

デフォルトの状態で呼び出せない人や物を呼び出せる。

VRAM8GB でできるファインチューニング

  • Textual Inversion
  • Hypernetwork
  • DreamArtist

VRAM 12 GB でできるファインチューニング

  • Dreambooth

VRAM 16 GB でできるファインシューニング

  • 追加学習

続きを読む

AUTOMATIC1111 の Dream Booth の使い方

カテゴリ:deeplearning

目次

正則化画像の必要性

Parameters

Advanced

Concepts

A Few Dreambooth Observations and Tips, Leafier Closer Shots With the New Vae File (higher CFG)

モデルの圧縮(脱水)

LORA

続きを読む

Waifu Diffusion で効率的に画像を生成する

カテゴリ:deeplearning

目次

ワークフロー

便利なツール

差分生成の実例

どのツールを選ぶか

Stable Diffusion のモデルリンク

モデルマージ

Stable Diffusion の解説

Guidance Scale(CFG)

サンプラーの比較

シード

Denoising Strength

バッチカウントとバッチサイズ

GPU の種類と画像生成時間

Tips

上手く描けない場合はアスペクト比を変えてみる

頭や脚がフレームアウトする

解像度を上げると頭や体が複数融合する

Denoising Strength を下げると画質が落ちる

ラフを量産する

細部の修正

手の修正

高解像度化

色のコントロール

ディティールが欲しいとき

ファインチューニング

プロンプト

プロンプトの探し方

外部のプロンプトリンク

ツール

プロンプトの語順

プロンプトのウェイト

ネガティブプロンプトで画力を上げる※重要

AUTOMATIC1111 の Prompt Editing※重要

Danbooru タグ列挙法(Waifu Diffusion v1.2 限定)

Danbooru タグ列挙法(Waifu Diffusion v1.3 限定)

Stable Diffusion のプロンプト Tips

単語チートシート

画力が上がる作品タグ
天気・時間帯
場所・背景

人数

kawaii

ロリ

褐色

映す範囲・アングル

等身

年齢

表情

感情

眼鏡

透過

体形

ポーズ

エフェクト

カメラ・ライティング
作風

検証

AI が描いた絵の見分け方

NSFW(職場閲覧注意)

単語集

場所

人数

性器

触手

表情

体位

ポーズ

脱衣

露出

装飾

マヨネーズ

精液

ゴム

暴力

作例


解説リンク

続きを読む

AUTOMATIC1111 の便利な機能

カテゴリ:deeplearning

目次

AUTOMATIC1111のアップデート

git の操作

アップスケーラー

Highres. fix(高解像度時に人が融合しなくなる)

Stable Diffusion Upscale(img2img を使ったアップスケーラー)

Seed resize(解像度を変更しても大体同じ出力)

アウトペインティング(作成した画像に追記して拡大)

img2img

img2img のステップ数を直接指定

Only masked(マスクした部分を拡大してから再生成して合成:旧 Inpaint at full rsolution)

Batch img2img(フォルダ内の画像すべてに img2img を実行)

Face Restration(顔を修復する機能)

Loopback(img2img の結果に img2img を実行する)

--gradio-img2img-tool(簡易ペイントツール追加)

色の補正

Detection Detailer(顔のマスクを自動生成してくれる Extension)

Depth-guided model(深度情報を使った img2img)

Novel AI のような noise strength

プロンプト

ネガティブプロンプト(出てほしくない絵を指定)

Attention/emphasis(語の強調)

Styles(プロンプトを保存)

CLIP interrogator(画像のプロンプトを推測)

Deepdanbooru(画像の Danbooru タグを表示する)

Prompt Editing(画像生成の途中でプロンプトを変更)

Alternate Prompt(1ステップごとに語を切り替え)

AND

Dynamic prompt(ランダムプロンプト)

text2prompt

ファインチューン

Embedding (.pt や .bin ファイル)を使う

CLIP Aesthetic を使う

Hypernetwork を使う

VAE を使う

操作

Generate ボタンを右クリック > Generate forever で止めるまで生成。止めるときは右クリック > cancel

Ctrl + Enter で Generate

Ctrl + Z プロンプトを元に戻す

スライダーをクリックした後十字キーで1ずつ増減できる

検証

X/Y plot(パラメーターの検証に使う)

Prompt matrix

Visualize Cross Attention(プロンプトが画像のどこに効いているか可視化)

DAAM Extension for Stable Diffusion Web UI(プロンプトが画像のどこに効いているか可視化)

UI

日本語化

ダーク UI

Quicksettings(UI 上部に設定を表示)

ui-config.json(初期設定変更)

そのほか

Extensions(追加機能)

xformers(高速化)

メタデータにモデル名を追加

任意解像度

Stable Diffusion 2.0

使用する GPU の選択

Variations(ちょっと違う絵を再生成)

Checkpoint Merger(ckpt ファイルのブレンド)

user.css(UI のレイアウト変更)

4GB の VRAM で実行

画像ファイルへのデータ埋め込み

ローカルネットワーク(スマホ)から UI にアクセス

通知音を鳴らす

[WebUI] Stable DiffusionベースモデルのCLIPの重みを良いやつに変更する

Extension など

Config Presets(設定保存)

sd_web_ui_preset_utils(設定保存)

Booru tag autocompletion for A1111(タグ補完)

extensionEditor(AUTOMATIC1111向けのプロンプトエディター)

Dataset Tag Editor(タグで画像を編集したり、タグを編集するエディタ)

Helper GUI for manual tagging/cropping(画像のタグ管理エディタ)

embedding editor(768 個ある潜在表現ベクトルを手動で調整)

multi-subject-render(背景とオブジェクトとを雑コラしてくれる)

モデルマージ

続きを読む

Textual Inversion の使い方

カテゴリ:deeplearning

目次

Textual Inversion

Embedding (.pt や .bin ファイル)を使う

Embedding の作成

パラメータの説明

Training an embedding(embedding のトレーニング)

Do not resize image

Gradient Accumulation

Shuffle tags by ',' when creating prompts.

Drop out tags when creating prompts.

latent sampling method

例1

DreamArtist

VRAM8GB で実行する

Embedding-inspector

続きを読む

Hypernetwork の使い方

カテゴリ:deeplearning

目次

Hypernetwork

Modules

Move VAE and CLIP to RAM when training hypernetwork. Saves VRAM

Hypernetwork layer structure

Select activation function of hypernetwork

Add layer normalization

Use dropout

Overwrite Old Hypernetwork

tips

使わない方がいい活性化関数

活性化関数ガイド

Hypernetwork training #2284

Hypernetwork Style Training, a tiny guide #2670

Hypernetwork training for dummies

例1

例2

hypernetwork.py

Hypernetwork-MonkeyPatch-Extension

Cosine Annealing

Hypernetwork の複数適用

Hypernetwork のマージ

外部リンク

続きを読む

Blender でレンダリング時間を短縮する方法まとめ

カテゴリ:blender

Blender レンダー以外の項目はバージョン 2.83 以降を前提としている。

目次

概要

Eevee を使う

レンダラーを変える

マルチ GPU

Cycles X(3.0)

Cycles X・Cycles 共通

高速化

GPU を使う

GeForce(OptiX)を使う(2.90)

高速 GI 近似(2.93)

プリンシプルシェーダを速くするテクニック

ライトパスの最適化

ベイクする

データ保持オプションを使う

ノイズ対策

デノイザノードを使う

デノイザアドオンを使う

デノイズを使う

ビューポートデノイズ(2.90)

Path Guiding(3.4)

Light Sampling(3.5)

SSS のノイズ対策

輝点ノイズの除去

外部リンク

Cycles

適応サンプリング

レンダラー非依存

レンダーファーム

ハードウェア

OS

Blender レンダー

Blender 自体の設定

シーンとオブジェクト

レンダータブ

続きを読む

Blender でセルルックを作る方法まとめ

カテゴリ:blender

続きを読む

モデリングの際に知っておくと便利な機能

カテゴリ:blender

一般的なものについては 【blenderモデリング基礎】造形するにあたって序盤で知っておきたかったコマンドなどを参照。

表示に関しては Blender で表示のおかしい頂点・面を直すを参照。

2.80 の操作法が説明されてない項目は 2.80 でもそのまま使える。

目次

バッチリネーム(2.81)[Ctrl + F2]

サイドバーのパネルを固定(2.80) [Shift + LMB]

マウスカーソルの位置を注視点にする [Alt + F]、2.80 [Alt + MMB]

ツールプロパティをビューポートに表示 [ F6 ]、2.80 [F9]

ビューポートに統計情報を表示(2.90)

プロパティ検索(2.91)[プロパティパネルで Ctrl + F]

古い Blender で新しい .blend ファイルを開く(3.0)

オブジェクト

ドラッグでオブジェクト(頂点等)を移動

細分割曲面をつける [Ctrl + テンキーでない数字]

再分割曲面の GPU アクセラレーション(3.1)

オブジェクトの原点移動モード(2.82)[Ctrl + .]

オブジェクトの整列

オブジェクトのスナップ

メッシュの編集

スナップ [Ctrl]

多様体を押し出し(2.90)[Alt + E]

頂点の経路を連結 [ J ]

ナイフの角度制限[K > C]

切り裂き [V]

球へ変形 [Alt + Shift + S]

辺を時計回りに回転

辺ループのブリッジ

ループカット

二等分(Bisect)

辺の端を超えてスライド [GG > C]

外枠を超えないようにスケール [S > GG]

XY 平面で編集

ピボットポイントのアクティブ要素 [Alt + .]、2.80 [ . ]

プロポーショナルエディットで動いてほしくない頂点を隠す

ループカットの整列

選択で溶解(dissolve selection)[Ctrl + X]

複雑な面で均等幅にループカットを入れる

オフセット辺スライド [Ctrl + Shift + R]

法線に沿って面を押し出し [Alt + E]

モディフィアのコピー(2.91)

辺の直線化を行う3つの方法

頂点を左右対称にする

選択

編集オブジェクトの切り替え(3.0) [Alt + Q]

次のアクティブ [Ctrl + Shift + Num Pad +]

カーソル下のメッシュを選択 [L]

隠れた面を選択

左側を全部選択

横のループカットをすべて選択

辺の鋭さで選択

シームで選択

飛ばして面選択(Face Stepping)

チェッカー選択解除

同一平面上で選択 [Shift + G > 同一平面上]

アドオン

外部リンク

続きを読む

Blender でスカートや髪を物理で動かす方法まとめ

カテゴリ:blender

目次

概要

ボーンの分割

シミュレーションのジッター対策

コリジョン

シュリンクラップを使ったコリジョンの解決

クロスシミュレーション

クロスシミュレーションの使い方

直接クロスシミュレーション

クロスシミュレーションのジッター対策

直接クロスシミュレーションでディティールの保存

服が貫通する場合

固い布を作る

クロスシミュレーション + メッシュ変形

クロスシミュレーション + IK

クロスシミュレーション + サーフェス変形

クロスシムを利用したモデリング

ソフトボディ

ソフトボディのパラメーターの解説

ソフトボディ + IK

ソフトボディ+メッシュ変形で髪を動かす

剛体

辺でコリジョンを作る(2.93)

剛体 + ボーンで髪のアニメーション

物理シミュレーションアドオン

Rigidbody Bone

Bonedynamics Pro

GenRigidBodies

rigid bodys generator

物理シミュレーションを使わない方法

スローペアレント+Bボーン

JiggleArmature add-on

Spring Bone

RigFlex

VicTools Spring Bone

YURE Driver

Blender version of Spring Magic

波モディフィアを使って服をなびかせる

Ossim - Simulation Baking Tool($13)

コンストレイントを使ったときのボーンの遅れを解消する(2.79以前)

外部リンク

概要

物理シムを使う方法は大きく分けて2種類ある。物理シムを直接使う方法と、物理シムの結果をボーンやメッシュにコピーして動かす方法とだ。メッシュが単純な形ならば物理シムをそのまま適用しても満足できる結果が得られることもある。しかしメッシュが複雑な形をしている場合、コリジョンがうまく機能しなかったり静止したときに元の状態に戻らなかったりする。その場合は物理シム用メッシュを作成し、その結果をボーンやメッシュにコピーする方法を使うことになる。

soft body damping
ソフトボディの減衰設定

ソフトボディ VS. クロスシム

詳しい説明はWhat is the technical difference between softbody and cloth simulation?を参照。

体積の保存

ソフトボディは体積を保存するがクロスシムはそうではない。多様体(一般的な閉じたメッシュ)を地面に落下させたとき、ソフトボディは元の形状を保存しようとするがクロスシムは布のように折りたたまれる。

計算負荷

ソフトボディの方が一般的に計算負荷は高い。ソフトボディは頂点間の距離が変化するが、クロスシムの頂点間の距離は固定だからだ。

柔らかい布を表現したい時はクロスシムよりソフトボディを使った方がいいかもしれない。

ボーン VS. メッシュ変形・サーフェス変形

ボーンはセットアップが面倒だ。しかし物理シムの影響を切り替えたり、物理シム後に微調整できるようなリグが組める。

メッシュ変形・サーフェス変形モディフィアはセットアップが簡単だが、調整はシミュレーション頼りになる。スカートや板ポリで作った髪のような非多様体(閉じていないメッシュ)はメッシュ変形よりもサーフェス変形を使った方が調整がしやすい。

続きを読む


広告
広告