2 poin oleh GN⁺ 2025-06-15 | Belum ada komentar. | Bagikan ke WhatsApp
  • miniDiffusion adalah proyek yang mengimplementasikan ulang model Stable Diffusion 3.5 dengan PyTorch murni dan dependensi minimal, dirancang untuk tujuan edukasi, eksperimen, dan hacking
  • Seluruh implementasi, mulai dari VAE hingga DiT, beserta skrip pelatihan dan dataset, berukuran sekitar 2.800 baris, dengan arah meminimalkan kode yang diperlukan untuk mereproduksi Stable Diffusion 3.5 dari nol
  • Kode model utama berada di dit.py, dit_components.py, dan attention.py, dengan pemisahan Joint Attention, embedding, normalisasi, patch embedding, serta fungsi bantu DiT
  • Komponen yang disertakan mencakup VAE, CLIP, encoder teks T5, tokenizer Byte-Pair dan Unigram, Multi-Modal Diffusion Transformer, Flow-Matching Euler Scheduler, dan Logit-Normal Sampling
  • Repositori ini masih memiliki fitur eksperimental dan memerlukan lebih banyak pengujian, serta disediakan di bawah MIT License untuk tujuan edukasi dan eksperimen

Tujuan dan cakupan miniDiffusion

  • miniDiffusion adalah proyek yang mengimplementasikan ulang model Stable Diffusion 3.5 dengan PyTorch murni dan dependensi minimal
  • Dibuat untuk tujuan edukasi, eksperimen, dan hacking, serta berfokus pada pengurangan jumlah kode yang diperlukan untuk mereproduksi Stable Diffusion 3.5 dari nol
  • Skala implementasinya sekitar 2.800 baris, termasuk VAE, DiT, skrip pelatihan, dan skrip dataset

Susunan file utama

  • Kode inti model Stable Diffusion berada di file berikut
    • dit.py: kode utama model DiT
    • dit_components.py: embedding, normalisasi, patch embedding, fungsi bantu DiT
    • attention.py: implementasi Joint Attention
  • noise.py berisi Euler Scheduler untuk menyelesaikan ODE dari Rectified Flow
  • Encoder teks dan tokenizer disusun dalam file terpisah
    • t5_encoder.py: encoder teks T5
    • clip.py: implementasi CLIP
    • tokenizer.py: tokenizer T5 dan CLIP
  • metrics.py mengimplementasikan Fréchet Inception Distance (FID)
  • Kode bantu pelatihan dan transformasi data berada di file berikut
    • common.py: fungsi bantu untuk pelatihan
    • common_ds.py: implementasi iterable dataset yang mengubah data gambar menjadi data untuk pelatihan DiT

Folder dan checkpoint

  • Folder model menyimpan checkpoint model dan log setelah pelatihan
  • Folder encoders menyimpan checkpoint modul lain seperti VAE dan CLIP

Komponen yang disertakan

  • Modul inti pembuatan gambar
    • VAE

    • CLIP

    • T5 Text Encoders

      • tokenizer Byte-Pair dan Unigram
      • komponen terkait Stable Diffusion 3
      • model Multi-Modal Diffusion Transformer
      • Flow-Matching Euler Scheduler
      • Logit-Normal Sampling
      • Joint Attention
      • mencakup skrip pelatihan dan inferensi untuk Stable Diffusion 3

Instalasi dan persiapan sebelum penggunaan

  • Clone repositorinya
git clone "https://github.com/yousef-rafat/miniDiffusion";
  • Instal dependensinya
pip install -r requirements.txt
  • Sebelum memasang checkpoint model, Anda harus menambahkan Hugging Face Token ke get_checkpoints.py
python3 encoders/get_checkpoints.py

Status dan lisensi

  • Repositori ini masih memiliki fitur eksperimental dan memerlukan lebih banyak pengujian
  • Proyek ini disediakan dengan MIT License untuk tujuan edukasi dan eksperimen

Belum ada komentar.

Belum ada komentar.