2 ポイント 投稿者 GN⁺ 2025-06-15 | まだコメントはありません。 | WhatsAppで共有
  • miniDiffusion は、Stable Diffusion 3.5モデルを最小限の依存関係を持つ純粋なPyTorchで再実装したプロジェクトであり、教育・実験・ハッキング目的に合わせて設計されている
  • 全体実装はVAEからDiT、学習およびデータセットスクリプトまで約 2,800行 規模で、Stable Diffusion 3.5をゼロから再現するために必要なコードを最小化する方針となっている
  • 主要なモデルコードは dit.pydit_components.pyattention.py にあり、Joint Attention、埋め込み、正規化、パッチ埋め込み、DiT補助関数に分かれている
  • 構成要素には VAE、CLIP、T5テキストエンコーダ、Byte-PairおよびUnigramトークナイザ、Multi-Modal Diffusion Transformer、Flow-Matching Euler Scheduler、Logit-Normal Sampling が含まれる
  • リポジトリにはまだ 実験的機能 があり、さらに多くのテストが必要で、MIT License の下で教育および実験目的で提供されている

miniDiffusionの目的と範囲

  • miniDiffusion は、Stable Diffusion 3.5モデルを純粋なPyTorchと最小限の依存関係で再実装したプロジェクトである
  • 教育、実験、ハッキング目的に合わせて作られており、Stable Diffusion 3.5をゼロから再現するのに必要なコード量を減らすことに焦点を当てている
  • 実装規模は、VAE、DiT、学習スクリプト、データセットスクリプトまで含めて約 2,800行 である

主要ファイル構成

  • Stable Diffusionモデルの中核コードは次のファイルにある
    • dit.py: メインの DiTモデル コード
    • dit_components.py: 埋め込み、正規化、パッチ埋め込み、DiT補助関数
    • attention.py: Joint Attention の実装
  • noise.py には、Rectified Flow のODEを解くための Euler Scheduler がある
  • テキストエンコーダとトークナイザは別ファイルで構成されている
    • t5_encoder.py: T5テキストエンコーダ
    • clip.py: CLIP実装
    • tokenizer.py: T5とCLIPのトークナイザ
  • metrics.pyFréchet Inception Distance(FID) を実装している
  • 学習補助コードとデータ変換コードは次のファイルにある
    • common.py: 学習用補助関数
    • common_ds.py: 画像データをDiT学習用データに変換する iterable dataset の実装

フォルダとチェックポイント

  • model フォルダは学習後のモデルチェックポイントとログを保存する
  • encoders フォルダはVAEやCLIPのような他モジュールのチェックポイントを保存する

含まれる構成要素

  • 画像生成の中核モジュール
    • VAE

    • CLIP

    • T5 Text Encoders

      • Byte-PairおよびUnigramトークナイザ
      • Stable Diffusion 3関連の構成要素
      • Multi-Modal Diffusion Transformer Model
      • Flow-Matching Euler Scheduler
      • Logit-Normal Sampling
      • Joint Attention
      • Stable Diffusion 3向けの学習および推論スクリプトを含む

インストールと使用前の準備

  • リポジトリをクローンする
git clone "https://github.com/yousef-rafat/miniDiffusion";
  • 依存関係をインストールする
pip install -r requirements.txt
  • モデルチェックポイントをインストールする前に、get_checkpoints.pyHugging Face Token を追加する必要がある
python3 encoders/get_checkpoints.py

状態とライセンス

  • リポジトリにはまだ 実験的機能 があり、さらに多くのテストが必要である
  • プロジェクトは MIT License で提供され、教育および実験目的となっている

まだコメントはありません。

まだコメントはありません。