Unconditional Image Generation
Diffusers
Safetensors
PyTorch
ddpm
cifar100
research-poc
trained-from-scratch
low-vram
Instructions to use HRFYTRE45E/ddpm-fish-generation-64 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use HRFYTRE45E/ddpm-fish-generation-64 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("HRFYTRE45E/ddpm-fish-generation-64", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
🐠 نموذج انتشار الأسماك (DDPM 64x64) - مشروع بحثي فردي منزلي
هذا المستودع يمثل مشروعاً بحثياً فردياً ومنزلياً تم تطويره بالكامل بواسطة المطور تامر (12 سنة). يهدف المشروع إلى تدريب نموذج انتشار احتمالي (DDPM) غير مشروط من الصفر (From Scratch) وتطويره عبر مرحلتين إضافيتين للتحكم في معالم الصور وجودتها.
تم إنجاز هذا العمل بكفاءة عالية في إدارة الموارد الحسابية في بيئة منزلية؛ حيث تم التدريب على كارت شاشة اقتصادي بسعة **(5 إلى 6 GB VRAM)**، واستهلك النموذج 2 GB VRAM فقط أثناء التدريب الفعلي، وبزمن إجمالي أقل من ساعتين.
🔬 مراحل التدريب والصور التوضيحية (Training Stages)
🖼️ 1. المرحلة الأولى: التوليد الأولي من الصفر (Base Generation)
- الشرح: نتائج التدريب الأولي لـ UNet2D من الصفر (120 دورة بمعدل تعلم $1 \times 10^{-4}$). تظهر الصور بشكل ضبابي وبقع ملونة غير محددة الملامح، وهي مرحلة إثبات قدرة النموذج على تعلم توزيع الألوان المائية واستيعاب الضوضاء.
🖼️ 2. المرحلة الثانية: تحديد الملامح والهيكل (Structural Fine-Tuning)
- الشرح: نتائج الضبط الدقيق الأول (100 دورة بمعدل تعلم $5 \times 10^{-5}$). تمكن النموذج في هذه المرحلة من الانتقال من الضبابية إلى تشكيل هياكل صريحة وأجسام محددة للأسماك مع بروز الزعانف والشكل العام.
🖼️ 3. المرحلة الثالثة: ضبط الإضاءة والتباين النهائي (Lighting Refinement)
- الشرح: النتيجة النهائية للنموذج بعد الضبط الدقيق للإضاءة (80 دورة بمعدل تعلم $1.5 \times 10^{-5}$ مع معالجات
ColorJitter). تظهر الصور تبايناً عالياً، وحوافاً حادة، وانعكاسات ضوئية ممتازة دون حدوث حفظ ظاهري (Overfitting).
💻 كود التوليد والتشغيل (Python)
import torch
from diffusers import DDPMPipeline
from PIL import Image
device = "cuda" if torch.cuda.is_available() else "cpu"
model_path = r"C:\Path\To\Your\Model_Folder"
pipeline = DDPMPipeline.from_pretrained(model_path).to(device)
images = pipeline(batch_size=64, num_inference_steps=75).images
canvas = Image.new('RGB', (512, 512))
idx = 0
for r in range(8):
for c in range(8):
canvas.paste(images[idx], (c * 64, r * 64))
idx += 1
canvas.save("output_windows.png")
canvas.show()
ملاحظة: في السطر الخامس استبدل C:\Path\To\Your\Model_Folder بالمسار الحقيقي للمجلد الذي ينتهي بملفات النموذج على جهازك.
كود لجوجل كولاب
import os
import shutil
import torch
from diffusers import DDPMPipeline
from PIL import Image
from google.colab import files
device = "cuda" if torch.cuda.is_available() else "cpu"
model_path = "/content/AI_Fish_Model"
if not os.path.exists(model_path) or not os.listdir(model_path):
os.makedirs(model_path, exist_ok=True)
uploaded = files.upload()
for filename in uploaded.keys():
shutil.move(filename, os.path.join(model_path, filename))
pipeline = DDPMPipeline.from_pretrained(model_path).to(device)
images = pipeline(batch_size=64, num_inference_steps=75).images
canvas = Image.new('RGB', (512, 512))
idx = 0
for r in range(8):
for c in range(8):
canvas.paste(images[idx], (c * 64, r * 64))
idx += 1
canvas.save("output_colab.png")
canvas.show()
- Downloads last month
- 19
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support


