2 puan yazan GN⁺ 2025-06-15 | Henüz yorum yok. | WhatsApp'ta paylaş
  • miniDiffusion, Stable Diffusion 3.5 modelini minimum bağımlılıkla saf PyTorch üzerinde yeniden uygulayan bir proje; eğitim, deney ve hacking amaçlarına uygun olarak tasarlanmış
  • Tüm uygulama, VAE’den DiT’ye, eğitim ve veri kümesi betiklerine kadar yaklaşık 2.800 satır büyüklüğünde; Stable Diffusion 3.5’i sıfırdan yeniden üretmek için gereken kodu en aza indirmeyi hedefliyor
  • Ana model kodu dit.py, dit_components.py, attention.py dosyalarında yer alıyor; Joint Attention, embedding’ler, normalizasyon, patch embedding ve DiT yardımcı fonksiyonları ayrılmış durumda
  • Bileşenler arasında VAE, CLIP, T5 metin encoder’ı, Byte-Pair ve Unigram tokenizer’lar, Multi-Modal Diffusion Transformer, Flow-Matching Euler Scheduler, Logit-Normal Sampling yer alıyor
  • Depoda hâlâ deneysel özellikler bulunuyor ve daha fazla test gerekiyor; MIT License kapsamında eğitim ve deney amaçlı sunuluyor

miniDiffusion’ın amacı ve kapsamı

  • miniDiffusion, Stable Diffusion 3.5 modelini saf PyTorch ve minimum bağımlılıkla yeniden uygulayan bir proje
  • Eğitim, deney ve hacking amaçlarına uygun olarak geliştirildi; Stable Diffusion 3.5’i sıfırdan yeniden üretmek için gereken kod miktarını azaltmaya odaklanıyor
  • Uygulamanın kapsamı VAE, DiT, eğitim betikleri ve veri kümesi betikleri dahil yaklaşık 2.800 satır

Ana dosya yapısı

  • Stable Diffusion modelinin çekirdek kodu şu dosyalarda bulunuyor
    • dit.py: ana DiT modeli kodu
    • dit_components.py: embedding’ler, normalizasyon, patch embedding, DiT yardımcı fonksiyonları
    • attention.py: Joint Attention uygulaması
  • noise.py içinde Rectified Flow’un ODE’sini çözmek için kullanılan Euler Scheduler bulunuyor
  • Metin encoder’ları ve tokenizer’lar ayrı dosyalar halinde düzenlenmiş
    • t5_encoder.py: T5 metin encoder’ı
    • clip.py: CLIP uygulaması
    • tokenizer.py: T5 ve CLIP tokenizer’ları
  • metrics.py, Fréchet Inception Distance(FID) metriğini uygular
  • Eğitim yardımcı kodu ve veri dönüştürme kodu şu dosyalarda yer alıyor
    • common.py: eğitim için yardımcı fonksiyonlar
    • common_ds.py: görüntü verilerini DiT eğitimi için veriye dönüştüren iterable dataset uygulaması

Klasörler ve checkpoint’ler

  • model klasörü, eğitimden sonra model checkpoint’lerini ve logları saklar
  • encoders klasörü, VAE ve CLIP gibi diğer modüllerin checkpoint’lerini saklar

İçerilen bileşenler

  • Görüntü üretiminin çekirdek modülleri
    • VAE

    • CLIP

    • T5 Text Encoders

      • Byte-Pair ve Unigram tokenizer’lar
      • Stable Diffusion 3 ile ilgili bileşenler
      • Multi-Modal Diffusion Transformer Model
      • Flow-Matching Euler Scheduler
      • Logit-Normal Sampling
      • Joint Attention
      • Stable Diffusion 3 için eğitim ve çıkarım betiklerini içerir

Kurulum ve kullanım öncesi hazırlık

  • Depoyu klonlayın
git clone "https://github.com/yousef-rafat/miniDiffusion";
  • Bağımlılıkları kurun
pip install -r requirements.txt
  • Model checkpoint’lerini kurmadan önce get_checkpoints.py dosyasına Hugging Face Token eklemelisiniz
python3 encoders/get_checkpoints.py

Durum ve lisans

  • Depoda hâlâ deneysel özellikler var ve daha fazla test gerekiyor
  • Proje MIT License ile sunuluyor ve eğitim ile deney amaçlıdır

Henüz yorum yok.

Henüz yorum yok.