- miniDiffusion एक ऐसा प्रोजेक्ट है जो Stable Diffusion 3.5 मॉडल को न्यूनतम dependencies के साथ शुद्ध PyTorch में फिर से इम्प्लीमेंट करता है, और इसे शिक्षा, प्रयोग और हैकिंग के उद्देश्यों के लिए डिज़ाइन किया गया है
- पूरा इम्प्लीमेंटेशन VAE से लेकर DiT, training और dataset scripts तक लगभग 2,800 lines का है, और इसका लक्ष्य Stable Diffusion 3.5 को शुरुआत से पुनर्निर्मित करने के लिए आवश्यक कोड को न्यूनतम रखना है
- मुख्य मॉडल कोड
dit.py, dit_components.py, attention.py में है, और इसमें Joint Attention, embeddings, normalization, patch embedding, और DiT helper functions अलग-अलग विभाजित हैं
- components में VAE, CLIP, T5 text encoder, Byte-Pair और Unigram tokenizer, Multi-Modal Diffusion Transformer, Flow-Matching Euler Scheduler, और Logit-Normal Sampling शामिल हैं
- repository में अभी भी experimental features हैं और अधिक testing की आवश्यकता है, और इसे MIT License के तहत शिक्षा और प्रयोग के उद्देश्यों के लिए उपलब्ध कराया गया है
miniDiffusion का उद्देश्य और दायरा
- miniDiffusion एक प्रोजेक्ट है जो Stable Diffusion 3.5 मॉडल को शुद्ध PyTorch और न्यूनतम dependencies के साथ फिर से इम्प्लीमेंट करता है
- इसे शिक्षा, प्रयोग और हैकिंग के उद्देश्यों के अनुरूप बनाया गया है, और Stable Diffusion 3.5 को शुरुआत से पुनर्निर्मित करने के लिए आवश्यक कोड की मात्रा घटाने पर फोकस है
- इम्प्लीमेंटेशन का आकार VAE, DiT, training scripts, और dataset scripts सहित लगभग 2,800 lines है
मुख्य फ़ाइल संरचना
- Stable Diffusion मॉडल का मुख्य कोड निम्न फ़ाइलों में है
dit.py: मुख्य DiT model कोड
dit_components.py: embeddings, normalization, patch embedding, और DiT helper functions
attention.py: Joint Attention इम्प्लीमेंटेशन
noise.py में Rectified Flow की ODE को हल करने के लिए Euler Scheduler है
- text encoders और tokenizers अलग फ़ाइलों में व्यवस्थित हैं
t5_encoder.py: T5 text encoder
clip.py: CLIP इम्प्लीमेंटेशन
tokenizer.py: T5 और CLIP tokenizers
metrics.py में Fréchet Inception Distance(FID) इम्प्लीमेंट किया गया है
- training helper code और data transformation code निम्न फ़ाइलों में हैं
common.py: training के लिए helper functions
common_ds.py: image data को DiT training data में बदलने वाले iterable dataset का इम्प्लीमेंटेशन
फ़ोल्डर और checkpoints
model फ़ोल्डर training के बाद model checkpoints और logs को स्टोर करता है
encoders फ़ोल्डर VAE, CLIP जैसे अन्य modules के checkpoints को स्टोर करता है
शामिल components
- image generation के मुख्य modules
-
VAE
-
CLIP
-
T5 Text Encoders
- Byte-Pair और Unigram tokenizers
- Stable Diffusion 3 से संबंधित components
- Multi-Modal Diffusion Transformer Model
- Flow-Matching Euler Scheduler
- Logit-Normal Sampling
- Joint Attention
- Stable Diffusion 3 के लिए training और inference scripts शामिल हैं
इंस्टॉलेशन और उपयोग से पहले की तैयारी
git clone "https://github.com/yousef-rafat/miniDiffusion"
- dependencies इंस्टॉल करें
pip install -r requirements.txt
- model checkpoints इंस्टॉल करने से पहले
get_checkpoints.py में Hugging Face Token जोड़ना होगा
python3 encoders/get_checkpoints.py
स्थिति और लाइसेंस
- repository में अभी भी experimental features हैं और अधिक testing की आवश्यकता है
- यह प्रोजेक्ट MIT License के तहत उपलब्ध है और शिक्षा व प्रयोग के उद्देश्यों के लिए है
अभी कोई टिप्पणी नहीं है.