Buckets:
DreamLite
DreamLite هو نموذج لتحويل النص إلى صورة وتحرير الصور من ByteDance. يجمع بين U-Net ثنائي الأبعاد مخصص (DreamLiteUNetModel) ومشفّر متعدد الوسائط Qwen3-VL كمشفّر للتعليمات النصية/الصورية، ويستخدم VAE من نوع AutoencoderTiny (بأسلوب TAESD) لتشفير وفك تشفير الكمون بسرعة.
يتم عرض خطّتي أنابيب:
| خط أنابيب | الأنماط | CFG | حالة الاستخدام |
|---|---|---|---|
| DreamLitePipeline | نص إلى صورة و تحرير الصور (يتم اختيارها تلقائيًا بناءً على ما إذا كان image هو None) |
CFG مزدوج بفرعين (3) (guidance_scale للفرع النصي، image_guidance_scale للفرع الصوري، على غرار InstructPix2Pix) |
أعلى جودة |
| DreamLiteMobilePipeline | نص إلى صورة و تحرير الصور (يتم اختيارها تلقائيًا بناءً على ما إذا كان image هو None) |
لا شيء — مُصغَّر، تمريرة UNet واحدة لكل خطوة | على الجهاز / زمن استجابة منخفض |
نقاط التفتيش الرسمية:
- النموذج الأساسي: carlofkl/DreamLite-base
- نموذج جوال مُقطّر: carlofkl/DreamLite-mobile
تكتشف كلا خطتي العمل تلقائيًا ما إذا كان الوضع هو توليد صورة من نص أو تحرير صورة، بناءً على ما إذا كان تم تقديم معامل
image. لا توجد فئة منفصلة باسمImg2Img.
عند تحميل صورة مدخلات للتحرير، يُفضَّل استخدام
diffusers.utils.load_image(...)بدلاً منPIL.Image.open(...)الخام. يفرضload_imageتحويلًا إلى RGB ويطبّق اتجاه EXIF، وكلاهما تفترضه خط المعالجة. أما استخدامImage.openالعادي لمصدر بصيغة RGBA / لوحة ألوان / مُدوَّر عبر EXIF فسيُنتج بشكل صامت شروطًا كامنة مختلفة ويُسهم في تدهور جودة المخرجات.
النص إلى صورة (أساسي)
import torch
from diffusers import DreamLitePipeline
pipe = DreamLitePipeline.from_pretrained("carlofkl/DreamLite-base", revision="diffusers", dtype=torch.bfloat16)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(
prompt="a dog running on the grass",
negative_prompt="",
height=1024,
width=1024,
num_inference_steps=28,
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("dreamlite_t2i.png")
تحرير الصور (الأساسي)
مرّر image للدخول إلى وضع التحرير. يكون كل من guidance_scale (الفرع النصي) وimage_guidance_scale (الفرع الصوري) نشطين هنا.
import torch
from diffusers import DreamLitePipeline
from diffusers.utils import load_image
pipe = DreamLitePipeline.from_pretrained("carlofkl/DreamLite-base", revision="diffusers", dtype=torch.bfloat16)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
source = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")
image = pipe(
prompt="turn the cat into a corgi",
image=source,
height=1024,
width=1024,
num_inference_steps=28,
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("dreamlite_edit.png")
النص إلى صورة (جوال)
يتم تقطير خط أنابيب الجوال ويتخطى CFG بالكامل — تمريرة واحدة للأمام في UNet لكل خطوة. يقبل نفس الحجة prompt / height / width / num_inference_steps، لكنه يتجاهل guidance_scale وimage_guidance_scale إذا تم تمريرها (يُسجَّل تحذير).
import torch
from diffusers import DreamLiteMobilePipeline
pipe = DreamLiteMobilePipeline.from_pretrained("carlofkl/DreamLite-mobile", revision="diffusers", dtype=torch.bfloat16)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
image = pipe(
prompt="a dog running on the grass",
height=1024,
width=1024,
num_inference_steps=4,
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("dreamlite_mobile_t2i.png")
تحرير الصور (جوال)
import torch
from diffusers import DreamLiteMobilePipeline
from diffusers.utils import load_image
pipe = DreamLiteMobilePipeline.from_pretrained("carlofkl/DreamLite-mobile", revision="diffusers", dtype=torch.bfloat16)
pipe = pipe.to("cuda") # or "mps", "xpu", "cpu"
source = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")
image = pipe(
prompt="turn the cat into a corgi",
image=source,
height=1024,
width=1024,
num_inference_steps=4,
generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("dreamlite_mobile_edit.png")
ملاحظات وحدود
- تفرض كلا خطتي العمل
batch_size = 1داخلياً؛ ويتحكمnum_images_per_promptفي عدد العينات المستخرجة من نفس الأمر النصي بدلاً من الدفعات المتوازية. - مشفّر المُوجِّه هو
Qwen3-VL، وهو نموذج متعدد الوسائط. لذا فإن تحميل خط الأنابيب الكامل يتطلب ذاكرة GPU كافية لكل من U-Net ومشفر النص Qwen3-VL (حوالي 4 جيجابايت + حوالي 0.7 جيجابايت في bf16 للإصدار الأساسي). - يكون
AutoencoderTinyهو VAE ويعرّضencoder_block_out_channels؛ ويُشتقvae_scale_factorمنه عند تهيئة خط الأنابيب.
DreamLitePipeline[[diffusers.DreamLitePipeline]]
diffusers.DreamLitePipeline[[diffusers.DreamLitePipeline]]
diffusers.DreamLitePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
خط أنابيب DreamLite لتوليد الصور من النص وتحرير الصور بناءً على التعليمات.
يدعم نفس خط الأنابيب كلا الوضعين؛ يتم اكتشاف وضع التشغيل تلقائيًا من المدخلات:
image is None-> نص إلى صورة (CFG واحد على النص).image is not None-> من صورة إلى صورة / تعديل تعليمات (CFG مزدوج: نص + صورة).
المكوّنات: text_encoder ([~transformers.Qwen3VLForConditionalGeneration]): مُشفّر نصي/بصري متعدد الوسائط يُستخدم لإنتاج تمثيلات شرطية. tokenizer ([~transformers.AutoTokenizer]): مُجزّئ للنص فقط (وضع التوليد). processor ([~transformers.Qwen3VLProcessor]): مُعالج متعدد الوسائط لوضع التعديل (قالب النص + الصورة). vae ([~diffusers.AutoencoderTiny]): VAE صغير مناسب للأجهزة المحمولة لتشفير/فك تشفير الكمون. unet ([~diffusers.DreamLiteUNetModel]): DreamLite UNet (GQA + qk_norm + طبقات التفكيك العميق). scheduler ([~diffusers.FlowMatchEulerDiscreteScheduler]): مُجدول أويلر لمطابقة التدفق مع إزاحة ديناميكية.
ملاحظة: batch_size مُقيَّد حاليًا بقيمة 1؛ num_images_per_prompt مدعوم.
call[[diffusers.DreamLitePipeline.call]]
__call__(prompt: typing.Optional[str] = None, negative_prompt: typing.Optional[str] = None, image: typing.Optional[PIL.Image.Image] = None, height: typing.Optional[int] = None, width: typing.Optional[int] = None, guidance_scale: float = 3.5, image_guidance_scale: float = 1.5, num_inference_steps: int = 30, sigmas: typing.Optional[typing.List[float]] = None, num_images_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, max_sequence_length: int = 200, text_pad_embedding: typing.Optional[torch.Tensor] = None)
المعاملات:
prompt : موجه نصي.
negative_prompt : نص موجه سلبي (الافتراضي هو سلسلة فارغة).
image : صورة إدخال اختيارية. إذا تم توفيرها، يعمل خط الأنابيب في وضع التحرير / من صورة إلى صورة مع إرشاد مزدوج بدون تصنيف؛ وإلا فإنه يعمل في وضع من نص إلى صورة.
height : دقة الإخراج (الارتفاع). القيمة الافتراضية هي default_sample_size * vae_scale_factor (1024). تنطبق نفس القيمة الافتراضية في كل من T2I و I2I؛ مرّر قيمة صريحة لتجاوزها.
width : دقة الإخراج (العرض). القيمة الافتراضية هي default_sample_size * vae_scale_factor (1024). تنطبق نفس القيمة الافتراضية في كل من T2I و I2I؛ مرّر قيمة صريحة لتجاوزها.
guidance_scale : مقياس CFG على فرع النص (في كلا الوضعين).
image_guidance_scale : مقياس CFG إضافي على فرع الصورة (وضع التحرير فقط).
num_inference_steps : عدد خطوات إزالة الضوضاء.
sigmas : قيم sigmas صريحة اختيارية لـ FlowMatch؛ الافتراضي هو linspace منتظم.
num_images_per_prompt : عدد الصور المُخرَجة لكل موجه (ملاحظة: يُجبر batch_size على القيمة 1).
generator : مولّد عشوائي أو أكثر.
output_type : "pil" أو "np" أو "pt" أو "latent".
return_dict : إذا كانت القيمة True، تُرجع DreamLitePipelineOutput؛ وإلا تُرجع tuple (images,).
max_sequence_length : الحد الأقصى لعدد رموز موجه المستخدم التي تُحفظ بعد إزالة بادئة قالب المحادثة. ينطبق هذا فقط على وضع generate (حيث يستخدم وضع edit الحشو الأصلي لمعالج الوسائط المتعددة).
text_pad_embedding : تضمين اختياري مُتعلَّم للمواضع المقنّعة.
يعيد:
DreamLitePipelineOutput أو tuple.
شغّل خط أنابيب DreamLite.
DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]
diffusers.DreamLiteMobilePipeline[[diffusers.DreamLiteMobilePipeline]]
diffusers.DreamLiteMobilePipeline(text_encoder: Qwen3VLForConditionalGeneration, tokenizer: AutoTokenizer, processor: Qwen3VLProcessor, vae: AutoencoderTiny, unet: DreamLiteUNetModel, scheduler: FlowMatchEulerDiscreteScheduler)
خط أنابيب DreamLite Mobile: نسخة مُصغّرة وخالية من التوجيه الحر من المُصنِّف من DreamLitePipeline للاستدلال السريع بعدد قليل من الخطوات (الافتراضي 4 خطوات).
يتم اكتشاف وضع التشغيل تلقائيًا من المدخلات (على غرار خط الأنابيب الأساسي):
image is None-> من النص إلى الصورة.image is not None-> من صورة إلى صورة / تعديل تعليمات.
بما أن التوجيه الحر من المُصنِّف مُستخلص، فإن guidance_scale وimage_guidance_scale مقبولة من أجل توافق الواجهة البرمجية مع DreamLitePipeline لكنها تُتجاهل في حلقة إزالة الضوضاء. كما أن negative_prompt غير موجودة عمداً.
Components (مطابق لخط الأنابيب الأساسي): text_encoder ([~transformers.Qwen3VLForConditionalGeneration]): مُشفِّر نص/رؤية متعدد الوسائط. tokenizer ([~transformers.AutoTokenizer]): مُجزِّئ للنص فقط (وضع التوليد). processor ([~transformers.Qwen3VLProcessor]): مُعالج متعدد الوسائط لوضع التحرير. vae ([~diffusers.AutoencoderTiny]): VAE صغير مناسب للأجهزة المحمولة. unet ([~diffusers.DreamLiteUNetModel]): DreamLite UNet. scheduler ([~diffusers.FlowMatchEulerDiscreteScheduler]): مُجدول أويلر لمطابقة التدفق مع إزاحة ديناميكية.
ملاحظة: batch_size مُقيَّد حاليًا بقيمة 1؛ num_images_per_prompt مدعوم.
call[[diffusers.DreamLiteMobilePipeline.call]]
__call__(prompt: typing.Union[str, typing.List[str]] = None, image: typing.Optional[PIL.Image.Image] = None, height: typing.Optional[int] = None, width: typing.Optional[int] = None, num_inference_steps: int = 4, guidance_scale: typing.Optional[float] = None, image_guidance_scale: typing.Optional[float] = None, sigmas: typing.Optional[typing.List[float]] = None, num_images_per_prompt: typing.Optional[int] = 1, generator: typing.Union[torch.Generator, typing.List[torch.Generator], NoneType] = None, output_type: typing.Optional[str] = 'pil', return_dict: bool = True, max_sequence_length: int = 200, text_pad_embedding: typing.Optional[torch.Tensor] = None)
المعاملات:
prompt : موجه نصي.
image : صورة إدخال اختيارية. إذا تم تقديمها، يتم التشغيل في وضع التحرير / من صورة إلى صورة؛ وإلا يتم التشغيل في وضع من نص إلى صورة.
height : دقة الإخراج (الارتفاع). القيمة الافتراضية هي default_sample_size * vae_scale_factor (1024).
width : دقة الإخراج (العرض). القيمة الافتراضية هي default_sample_size * vae_scale_factor (1024).
num_inference_steps : عدد خطوات إزالة الضوضاء. القيمة الافتراضية هي 4 (مُقطَّرة).
guidance_scale : تم قبوله لضمان توافق الواجهة البرمجية مع DreamLitePipeline؛ يتم تجاهله لأن CFG تم استخلاصه.
image_guidance_scale : تم قبوله لضمان توافق الواجهة البرمجية مع DreamLitePipeline؛ يتم تجاهله لأن CFG تم استخلاصه.
sigmas : قيم sigmas صريحة اختيارية لـ FlowMatch؛ الافتراضي هو linspace منتظم.
num_images_per_prompt : عدد الصور المُخرَجة لكل موجه (ملاحظة: يُجبر batch_size على القيمة 1).
generator : مولّد عشوائي أو أكثر.
output_type : "pil" أو "np" أو "pt" أو "latent".
return_dict : إذا كانت القيمة True، تُرجع DreamLitePipelineOutput؛ وإلا (images,).
max_sequence_length : الحد الأقصى لعدد رموز موجه المستخدم التي تُحفظ بعد إزالة بادئة قالب المحادثة. ينطبق هذا فقط على وضع generate (حيث يستخدم وضع edit الحشو الأصلي لمعالج الوسائط المتعددة).
text_pad_embedding : تضمين اختياري مُتعلَّم للمواضع المقنّعة.
يعيد:
DreamLitePipelineOutput أو tuple.
شغّل خط أنابيب DreamLite Mobile المُقطّر.
DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]
diffusers.DreamLitePipelineOutput[[diffusers.DreamLitePipelineOutput]]
diffusers.DreamLitePipelineOutput(images: typing.Union[typing.List[PIL.Image.Image], numpy.ndarray])
المعاملات:
images (List[PIL.Image.Image] أو np.ndarray) : قائمة من صور PIL منزوعة الضوضاء بطول batch_size أو مصفوفة NumPy بأبعاد (batch_size, height, width, num_channels). تمثل صور PIL أو مصفوفة NumPy الصور منزوعة الضوضاء من خط أنابيب الانتشار.
فئة الإخراج لخطوط أنابيب DreamLite.
Xet Storage Details
- Size:
- 17.8 kB
- Xet hash:
- 02ecc1b3aa22079d91dd41740b4ad825b6948ac97ee476dbf8f4811172763647
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.