dskjal
deeplearning カテゴリの記事一覧を表示しています。
広告
広告

torch と cuda の tips

カテゴリ:deeplearning

CUDA は後方互換性があるので、nvcc -V の出力より前のライブラリでビルドされているものも実行できる。

続きを読む

Pytorch モデルを fp16 で動作させる方法

カテゴリ:deeplearning

pytorch のモデルは half() を呼び出せば fp16 になる。しかし、LayerNormalization などのレイヤーは非常に小さな値を扱うので、fp32 で動作させた方が良い。

続きを読む

SDXL Q8_0 量子化が流行らない理由

カテゴリ:deeplearning

VRAM を 800 MB 節約できるだけで、生成速度は fp16 と変わらないから。

続きを読む

Python 3.13 で kohya-ss sd-scripts の環境構築

カテゴリ:deeplearning

xformers は使わない(--sdpa を使う)ので入れていない。

続きを読む

NovelAI Diffusion V3 の改善点

カテゴリ:deeplearning

続きを読む

バッチ正規化の Tips

カテゴリ:deeplearning

バッチ正規化自体に性能を向上させる能力はない

続きを読む

NVIDIA の AMP が遅くなる理由

カテゴリ:deeplearning

続きを読む

GAN の学習

カテゴリ:deeplearning

続きを読む

llama-cpp-python + CUDA + Windows ビルドメモ

カテゴリ:deeplearning

続きを読む

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

カテゴリ:deeplearning

LoRA はLoRA の学習方法へ移動した。

LoRA 以外の情報(Hypernetwork や Textual Inversion、Dreambooth)はStable Diffusion の古い情報へ移動した。

目次

U-Net の学習

わかりやすい解説として「U-Net は画像のデノイズを行う」という説明がされるが、これは正確には間違いだ。U-Net は除去すべきノイズを出力する

学習のプロセスは以下のようになる。

  1. ランダムにタイムステップ t ∈ [0, 1000]を選ぶ
  2. 教師画像にタイムステップ t に対応するノイズを付与する
  3. U-Net にノイズを付与した教師画像とタイムステップ t とコンテクスト(embedding 化したキャプション)を入力
  4. U-Net が除去すべきノイズを出力する
  5. 付与したノイズと U-Net が出力したノイズとの差分から平均二乗誤差(MSE)を計算する
  6. 差分を逆伝播して学習する

タイムステップはノイズの量をきめる。0 が教師画像そのもので、1000 が純粋なノイズ画像だ。

概要

2023 年8月現在 LoRA 一強の状況で、Textual Inversion・Hypernetwork・Dreambooth(正則化画像) はほとんど使われていない。

続きを読む


広告
広告