Buckets:
| # Bria 3.2 | |
| Bria 3.2 هو نموذج توليد الصور من النص من الجيل التالي الجاهز للاستخدام التجاري. وبفضل 4 مليارات معامل فقط، يوفر جماليات استثنائية وعرضًا للنصوص، وقد تم تقييمه ليقدّم نتائج مماثلة للنتائج التي يقدمها نماذج المصدر المفتوح الرائدة، ويتفوق على النماذج المرخّصة الأخرى. بالإضافة إلى كونه مبنيًا بالكامل على بيانات مرخّصة، يوفر 3.2 عدة مزايا للاستخدام المؤسسي والتجاري: | |
| - حساب فعّال - النموذج أصغر بثلاثة أضعاف من النماذج المكافئة في السوق (4 مليارات من المعاملات مقابل 12 مليار من المعاملات في النماذج مفتوحة المصدر الأخرى) | |
| - اتساق البنية: نفس البنية الموجودة في الإصدار 3.1—مثالي للمستخدمين الذين يبحثون عن الترقية دون أي انقطاع. | |
| - تسريع الضبط الدقيق: تسريع الضبط الدقيق بمقدار الضعف على L40S و A100. | |
| نُشرت نقاط التفتيش الأصلية للنموذج الخاص بـ Bria 3.2 في `briaai/BRIA-3.2`، ولم تعد متاحة على Hub. يمكن العثور على مستودع Github الخاص بـ Bria 3.2 [هنا](https://github.com/Bria-AI/BRIA-3.2). | |
| إذا كنت ترغب في معرفة المزيد عن منصة Bria والحصول على وصول تجريبي مجاني، يرجى زيارة [bria.ai](https://bria.ai). | |
| ## الاستخدام | |
| استخدم الأمر أدناه لتسجيل الدخول: | |
| ```bash | |
| hf auth login | |
| ``` | |
| ## BriaPipeline[[diffusers.BriaPipeline]] | |
| #### diffusers.BriaPipeline[[diffusers.BriaPipeline]] | |
| ```python | |
| diffusers.BriaPipeline(transformer: BriaTransformer2DModel, scheduler: diffusers.schedulers.scheduling_flow_match_euler_discrete.FlowMatchEulerDiscreteScheduler | diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers, vae: AutoencoderKL, text_encoder: T5EncoderModel, tokenizer: T5Tokenizer, image_encoder: CLIPVisionModelWithProjection = None, feature_extractor: CLIPImageProcessorPil = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L89) | |
| **المعاملات:** | |
| transformer ([BriaTransformer2DModel](/docs/diffusers/main/ar/api/models/bria_transformer#diffusers.BriaTransformer2DModel)) : معمارية Transformer الشرطية (MMDiT) لإزالة الضوضاء من الكامنات المُرمّزة للصورة. | |
| scheduler ([FlowMatchEulerDiscreteScheduler](/docs/diffusers/main/ar/api/schedulers/flow_match_euler_discrete#diffusers.FlowMatchEulerDiscreteScheduler)) : مُجدوِل يُستخدم بالاقتران مع `transformer` لإزالة الضوضاء من كامنات الصورة المُرمَّزة. | |
| vae ([AutoencoderKL](/docs/diffusers/main/ar/api/models/autoencoderkl#diffusers.AutoencoderKL)) : نموذج الترميز التحويلي التبايني (VAE) لتشفير وفك تشفير الصور إلى تمثيلات كامنة ومنها. | |
| text_encoder (`T5EncoderModel`) : مُشفِّر نص ثابت. تستخدم Bria [T5](https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5EncoderModel)، وتحديداً النسخة [t5-v1_1-xxl](https://huggingface.co/google/t5-v1_1-xxl). | |
| tokenizer (`T5TokenizerFast`) : مُجزِّئ من الفئة [T5Tokenizer](https://huggingface.co/docs/transformers/model_doc/t5#transformers.T5Tokenizer). | |
| بناءً على FluxPipeline مع عدة تغييرات: | |
| - لا توجد تمثيلات مجمّعة | |
| - نستخدم التوسيع الصفري (zero padding) للموجّهات | |
| - لا يوجد تضمين إرشادي لأن هذه ليست نسخة مُقطّرة | |
| #### __call__[[diffusers.BriaPipeline.__call__]] | |
| ```python | |
| __call__(prompt: str | list[str] = None, height: int | None = None, width: int | None = None, num_inference_steps: int = 30, timesteps: list[int] = None, guidance_scale: float = 5, negative_prompt: str | list[str] | None = None, num_images_per_prompt: int | None = 1, generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = None, latents: typing.Optional[torch.FloatTensor] = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, output_type: str | None = 'pil', return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None, callback_on_step_end: typing.Optional[typing.Callable[[int, int], NoneType]] = None, callback_on_step_end_tensor_inputs: list[str] = ['latents'], max_sequence_length: int = 128, clip_value: None | float = None, normalize: bool = False) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L448) | |
| **المعاملات:** | |
| prompt (`str` أو `list[str]`، *اختياري*) : الأمر أو الأوامر التي تُوجّه توليد الصورة. إذا لم يُعرَّف، يجب تمرير `prompt_embeds` بدلاً من ذلك. | |
| height (`int`، *اختياري*، الافتراضي هو self.unet.config.sample_size * self.vae_scale_factor) : ارتفاع الصورة المولّدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج. | |
| width (`int`، *اختياري*، القيمة الافتراضية هي self.unet.config.sample_size * self.vae_scale_factor) : عرض الصورة المولدة بالبكسلات. يتم ضبطه على 1024 افتراضيًا للحصول على أفضل النتائج. | |
| num_inference_steps (`int`، *اختياري*، القيمة الافتراضية 50) : عدد خطوات إزالة الضوضاء. تؤدي زيادة عدد خطوات إزالة الضوضاء عادةً إلى صورة ذات جودة أعلى على حساب بطء الاستدلال. | |
| timesteps (`list[int]`، *اختياري*) : خطوات زمنية مخصصة لاستخدامها في عملية إزالة الضوضاء مع المجدولين الذين يدعمون معامل `timesteps` في طريقة `set_timesteps` الخاصة بهم. إذا لم يُعرَّف، فسيتم استخدام السلوك الافتراضي عند تمرير `num_inference_steps`. يجب أن تكون بترتيب تنازلي. | |
| guidance_scale (`float`، *اختياري*، القيمة الافتراضية 5.0) -- | |
| **يعيد:** `~pipelines.bria.BriaPipelineOutput` أو `tuple` | |
| `~pipelines.bria.BriaPipelineOutput` إذا كان `return_dict` هو True، وإلا `tuple`. عند إرجاع tuple، يكون العنصر الأول قائمة تحتوي على الصور المولّدة. | |
| الدالة التي تُستدعى عند استدعاء خط الأنابيب للتوليد. | |
| <<<<<<< HEAD مقياس التوجيه كما هو مُعرَّف في [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598). يُعرَّف `guidance_scale` على أنه `w` في المعادلة 2. من [Imagen Paper](https://arxiv.org/pdf/2205.11487.pdf). يتم تفعيل مقياس التوجيه عن طريق تعيين `guidance_scale > 1`. يشجع مقياس التوجيه الأعلى على توليد صور مرتبطة ارتباطًا وثيقًا بنص `prompt`، وعادةً على حساب انخفاض جودة الصورة. negative_prompt (`str` أو `list[str]`، *اختياري*): ======= مقياس التوجيه كما هو مُعرَّف في [Classifier-Free Diffusion Guidance](https://huggingface.co/papers/2207.12598). يُعرَّف `guidance_scale` على أنه `w` في المعادلة 2. من [Imagen Paper](https://huggingface.co/papers/2205.11487). يتم تفعيل مقياس التوجيه عن طريق تعيين `guidance_scale > 1`. يشجع مقياس التوجيه الأعلى على توليد صور مرتبطة ارتباطًا وثيقًا بنص `prompt`، وعادةً على حساب انخفاض جودة الصورة. negative_prompt (`str` أو `list[str]`، *اختياري*): | |
| >>>>>>> main | |
| الموجّه أو الموجّهات التي لا تُوجّه توليد الصورة. إذا لم تُعرَّف، يجب تمرير `negative_prompt_embeds` بدلاً من ذلك. يتم تجاهلها عند عدم استخدام التوجيه (أي يتم تجاهلها إذا كان `guidance_scale` أقل من `1`). num_images_per_prompt (`int`، *اختياري*، القيمة الافتراضية 1): عدد الصور المراد توليدها لكل موجّه. generator (`torch.Generator` أو `list[torch.Generator]`، *اختياري*): مولّد [torch](https://pytorch.org/docs/stable/generated/torch.Generator.html) واحد أو قائمة من المولّدات لجعل التوليد حتمياً. latents (`torch.FloatTensor`، *اختياري*): كامنات ضجيج مُولّدة مسبقاً، مُستخرجة من توزيع غاوسي، لاستخدامها كمدخلات لتوليد الصور. يمكن استخدامها لتعديل نفس التوليد بموجّهات مختلفة. إذا لم تُوفَّر، سيتم توليد متجه كامنات عن طريق الاستخراج باستخدام `generator` العشوائي المُقدَّم. prompt_embeds (`torch.FloatTensor`، *اختياري*): تضمينات نصية مُولّدة مسبقاً. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلاً* وزن الموجّه. إذا لم تُوفَّر، سيتم توليد التضمينات النصية من معامل الإدخال `prompt`. negative_prompt_embeds (`torch.FloatTensor`، *اختياري*): تضمينات نصية سلبية مُولّدة مسبقاً. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلاً* وزن الموجّه. إذا لم تُوفَّر، سيتم توليد negative_prompt_embeds من معامل الإدخال `negative_prompt`. output_type (`str`، *اختياري*، القيمة الافتراضية `"pil"`): صيغة الإخراج للصورة المولّدة. اختر بين [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` أو `np.array`. return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`): ما إذا كان يجب إرجاع `~pipelines.bria.BriaPipelineOutput` بدلاً من مجموعة (tuple) عادية. attention_kwargs (`dict`، *اختياري*): قاموس kwargs الذي إذا تم تحديده يُمرَّر إلى `AttentionProcessor` كما هو مُعرَّف تحت `self.processor` في [diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py). callback_on_step_end (`Callable`، *اختياري*): دالة تُستدعى في نهاية كل خطوة إزالة ضجيج أثناء الاستدلال. تُستدعى الدالة بالحجج التالية: `callback_on_step_end(self: DiffusionPipeline, step: int, timestep: int, callback_kwargs: Dict)`. سيتضمن `callback_kwargs` قائمة بجميع المتجهات كما هو مُحدَّد بواسطة `callback_on_step_end_tensor_inputs`. callback_on_step_end_tensor_inputs (`list`، *اختياري*): قائمة مدخلات المتجهات لدالة `callback_on_step_end`. سيتم تمرير المتجهات المحددة في القائمة كحجة `callback_kwargs`. لن تتمكن من تضمين متغيرات غير مدرجة في خاصية `._callback_tensor_inputs` لفئة خط الأنابيب الخاص بك. max_sequence_length (`int` القيمة الافتراضية 256): أقصى طول تسلسل لاستخدامه مع `prompt`. clip_value (`float`، *اختياري*): إذا تم ضبطه، يتم قص الضجيج المُتنبَّأ به إلى النطاق `[-clip_value, clip_value]` في كل خطوة إزالة ضجيج. normalize (`bool`، *اختياري*، القيمة الافتراضية `False`): ما إذا كان يجب تطبيع الضجيج المُتنبَّأ به في كل خطوة إزالة ضجيج. | |
| أمثلة: | |
| ```py | |
| >>> import torch | |
| >>> from diffusers import BriaPipeline | |
| >>> pipe = BriaPipeline.from_pretrained("briaai/BRIA-3.2", torch_dtype=torch.bfloat16) | |
| >>> pipe.to("cuda") | |
| # BRIA's T5 text encoder is sensitive to precision. We need to cast it to bfloat16 and keep the final layer in float32. | |
| >>> pipe.text_encoder = pipe.text_encoder.to(dtype=torch.bfloat16) | |
| >>> for block in pipe.text_encoder.encoder.block: | |
| ... block.layer[-1].DenseReluDense.wo.to(dtype=torch.float32) | |
| # BRIA's VAE is not supported in mixed precision, so we use float32. | |
| >>> if pipe.vae.config.shift_factor == 0: | |
| ... pipe.vae.to(dtype=torch.float32) | |
| >>> prompt = "Photorealistic food photography of a stack of fluffy pancakes on a white plate, with maple syrup being poured over them. On top of the pancakes are the words 'BRIA 3.2' in bold, yellow, 3D letters. The background is dark and out of focus." | |
| >>> image = pipe(prompt).images[0] | |
| >>> image.save("bria.png") | |
| ``` | |
| #### encode_prompt[[diffusers.BriaPipeline.encode_prompt]] | |
| ```python | |
| encode_prompt(prompt: str | list[str], device: typing.Optional[torch.device] = None, num_images_per_prompt: int = 1, do_classifier_free_guidance: bool = True, negative_prompt: str | list[str] | None = None, prompt_embeds: typing.Optional[torch.FloatTensor] = None, negative_prompt_embeds: typing.Optional[torch.FloatTensor] = None, max_sequence_length: int = 128, lora_scale: float | None = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/bria/pipeline_bria.py#L146) | |
| **المعاملات:** | |
| prompt (`str` أو `list[str]`، *اختياري*) : النص الذي سيتم ترميزه | |
| device : (`torch.device`): جهاز torch | |
| num_images_per_prompt (`int`) : عدد الصور التي يجب توليدها لكل موجه | |
| do_classifier_free_guidance (`bool`) : ما إذا كان سيتم استخدام التوجيه الحر للتصنيف أم لا | |
| negative_prompt (`str` أو `list[str]`، *اختياري*) : الموجه أو الموجهات التي لا ينبغي توجيه توليد الصورة بها. إذا لم يُعرَّف، يجب تمرير `negative_prompt_embeds` بدلاً من ذلك. يتم تجاهله عند عدم استخدام التوجيه (أي يتم تجاهله إذا كان `guidance_scale` أقل من `1`). | |
| prompt_embeds (`torch.FloatTensor`، *اختياري*) : تمثيلات نصية مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلًا* وزن الأوامر. إذا لم تُقدَّم، فسيتم توليد تمثيلات النص من معامل الإدخال `prompt`. | |
| negative_prompt_embeds (`torch.FloatTensor`، *اختياري*) : تمثيلات نصية سالبة مُولّدة مسبقًا. يمكن استخدامها لتعديل مدخلات النص بسهولة، *مثلًا* وزن الأوامر. إذا لم تُقدَّم، فسيتم توليد negative_prompt_embeds من معامل الإدخال `negative_prompt`. | |
Xet Storage Details
- Size:
- 15.5 kB
- Xet hash:
- 7fb9a4a63132fde5954cd01e13742269506c3bfcc07a0d14e54e87dd177f06a4
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.