Buckets:
| # | |
| # مرخّص بموجب ترخيص Apache الإصدار 2.0 (المسمى "الترخيص") | |
| # لا يجوز لك استخدام هذا الملف إلا وفقاً لشروط الترخيص. | |
| # يمكنك الحصول على نسخة من الترخيص في | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # ما لم يقتضِ ذلك القانون المعمول به أو ما اتُّفق عليه كتابياً، البرمجيات | |
| # تُوزَّع بموجب الرخصة على أساس "كما هي"، | |
| # بلا أي ضمانات أو شروط من أي نوع، سواء صريحة أو ضمنية. | |
| # راجع الترخيص لمعرفة اللغة المحددة التي تحكم الصلاحيات و | |
| # قيود بموجب الترخيص. --> | |
| # صدى | |
| [Echo](https://github.com/jd-opensource/JoyAI-Echo) هو نموذج لتوليد مقاطع فيديو طويلة. يدعم إطارًا أوليًا نظيفًا اختياريًا، وفتحات ذاكرة مرتبة للصور/الصوت، ومُعيّن عشوائي بعدد خطوات قليلة لتقطير مطابقة التوزيع (DMD). يولّد خط الأنابيب فيديو وصوتًا متزامنين. | |
| يُنفَّذ Echo على شكل [ModularPipeline](/docs/diffusers/v0.43.0/ar/api/modular_diffusers/pipeline#diffusers.ModularPipeline) بحيث يمكن تشغيل كتل ترميز النص، وتكييف الذاكرة، وإزالة الضوضاء العشوائية عبر DMD، وفك الترميز كعملية متكاملة أو تركيبها بشكل مستقل. | |
| ## الاستدلال | |
| قم بتحميل نقطة التفتيش الرسمية [jdopensource/JoyAI-Echo](https://huggingface.co/jdopensource/JoyAI-Echo) مباشرةً. يستخدم هذا النموذج مُشفِّر النص ومُقسِّم الرموز من [google/gemma-3-12b-it](https://huggingface.co/google/gemma-3-12b-it). مستودع Gemma محمي، لذا قبل تحميل خط الأنابيب، يجب عليك قبول ترخيصه والتحقق من هويتك لدى Hugging Face. | |
| يستخدم النموذج المُطلَق 241 إطارًا في مثال الفيديو الطويل الخاص به. وتبقى إحداثيات RoPE للفيديو عند معدل التدريب البالغ 24 إطارًا في الثانية، بغض النظر عن معدل الحاوية الإخراجية. | |
| ```py | |
| import torch | |
| import torchaudio | |
| from PIL import Image | |
| from diffusers import ComponentsManager, ModularPipeline | |
| from diffusers.utils import encode_video | |
| manager = ComponentsManager() | |
| pipe = ModularPipeline.from_pretrained("jdopensource/JoyAI-Echo", components_manager=manager) | |
| pipe.load_components(dtype={"default": torch.bfloat16, "audio_vae": torch.float32}) | |
| manager.enable_auto_cpu_offload(device="cuda") | |
| pipe.vae.enable_tiling() | |
| first_frame = Image.open("first_frame.png").convert("RGB") | |
| memory_images = [Image.open(path).convert("RGB") for path in ["memory_0.png", "memory_1.png"]] | |
| memory_audio_with_rates = [torchaudio.load(path) for path in ["memory_0.wav", "memory_1.wav"]] | |
| memory_audio = [waveform for waveform, _ in memory_audio_with_rates] | |
| memory_audio_rates = [sample_rate for _, sample_rate in memory_audio_with_rates] | |
| output = pipe( | |
| prompt="A cinematic dialogue scene in a quiet cafe.", | |
| image=first_frame, | |
| memory_images=memory_images, | |
| memory_audio_waveforms=memory_audio, | |
| memory_audio_sample_rates=memory_audio_rates, | |
| width=1280, | |
| height=736, | |
| num_frames=241, | |
| frame_rate=25.0, | |
| model_frame_rate=24.0, | |
| generator=torch.Generator(device="cuda").manual_seed(42), | |
| output_type="np", | |
| output=["videos", "audio"], | |
| ) | |
| encode_video( | |
| output["videos"][0], | |
| fps=25, | |
| audio=output["audio"][0].float().cpu(), | |
| audio_sample_rate=pipe.vocoder.config.output_sampling_rate, | |
| output_path="echo.mp4", | |
| ) | |
| ``` | |
| جدول دلتا (sigma) الافتراضي لخوارزمية DMD هو الجدول المكوّن من ثمانية خطوات الذي تم إصداره. يتنبأ هذا الجدول بـ`x0` في كل خطوة، ويعيد إضافة الضوضاء باستخدام ضوضاء غاوسية جديدة عند قيمة دلتا التالية، بحيث يتحكم مولّد `torch.Generator` المُهيّأ (seeded) في الضوضاء الأولية وفي جميع عمليات إعادة إضافة الضوضاء الوسيطة. | |
| يتطلب الترميز الخام للصوت والذاكرة `torchaudio`. من أجل التكافؤ المرجعي، أبقِ `audio_vae` في FP32 كما هو موضح أعلاه. يمكن لمسارات العمل المعيارية تخزين الموترات المُعايرة والمفكوكة لمرسّم VAE مؤقتًا. تكون أبعاد الكامنات المرئية `(batch, channels, frames, height, width)` وأبعاد الكامنات الصوتية `(batch, channels, time, mel_bins)`. يقوم الكتلة الأساسية `denoise` بتجميع تلك الموترات، وتوسيع الشروط لـ `num_videos_per_prompt`، ثم فك تجميع المخرجات المُزالة الضوضاء وإعادتها إلى نفس شكل VAE. مرّر أيضًا الكامنات الأولية `latents` و `audio_latents` في ذلك الشكل المفكوك. تستقبل المُفككات موترات VAE المُعايرة وتُزيل المعايرة فورًا قبل فك الترميز. يعيد `output=["latents", "audio_latents"]` موترات VAE المُعايرة. مع `output_type="latent"` و `output=["videos", "audio"]`، تحصل على موترات VAE غير المُعايرة دون فك الترميز. | |
| ## EchoModularPipeline[[diffusers.EchoModularPipeline]] | |
| #### diffusers.EchoModularPipeline[[diffusers.EchoModularPipeline]] | |
| ```python | |
| diffusers.EchoModularPipeline(blocks: diffusers.modular_pipelines.modular_pipeline.ModularPipelineBlocks | None = None, pretrained_model_name_or_path: str | os.PathLike | None = None, components_manager: diffusers.modular_pipelines.components_manager.ComponentsManager | None = None, collection: str | None = None, workflow: str | None = None, modular_config_dict: dict[str, typing.Any] | None = None, config_dict: dict[str, typing.Any] | None = None, **kwargs) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/echo/modular_pipeline.py#L27) | |
| ModularPipeline لنقطة التفتيش DMD الخاصة بمقطع الفيديو الطويل Echo. | |
| ## EchoBlocks[[diffusers.EchoBlocks]] | |
| #### diffusers.EchoBlocks[[diffusers.EchoBlocks]] | |
| ```python | |
| diffusers.EchoBlocks() | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/modular_pipelines/echo/modular_blocks_echo.py#L220) | |
| توليد فيديو من مرجع صوتي مع شرطية نظيفة للإطار الأول، وفتحات ذاكرة مرتبة للصور والصوت، وإزالة ضوضاء عشوائية باستخدام DMD. | |
| المكوّنات: text_encoder (`PreTrainedModel`) tokenizer (`PreTrainedTokenizerBase`) connectors (`LTX2TextConnectors`) vae (`AutoencoderKLLTX2Video`) audio_vae (`AutoencoderKLLTX2Audio`) transformer (`LTX2VideoTransformer3DModel`) video_processor (`VideoProcessor`) vocoder (`LTX2Vocoder`) | |
| المدخلات: prompt (`str`): الأمر أو الأوامر التي تُوجّه توليد الصورة. max_sequence_length (`int`, *اختياري*, الافتراضي 1024): الحد الأقصى لطول التسلسل لتشفير الأمر. image (`Image | Tensor`, *اختياري*): إطار أولي واحد اختياري يُستخدم كشرط مرجعي نظيف. memory_images (`list`, *اختياري*): صور مرجعية مرتبة، صورة واحدة لكل خانة ذاكرة Echo. memory_audio_waveforms (`list`, *اختياري*): موجات ذاكرة مرتبة على شكل متجهات `(channels, samples)`. تُقتطع المدخلات الأطول من 9.62 ثانية إلى نافذة الاستجابة الأعلى. استخدم `None` لخانة صامتة. memory_audio_sample_rates (`int | list`, *اختياري*): معدل أخذ العينات المشترك لجميع موجات الذاكرة، أو معدل واحد لكل خانة. height (`int`, *اختياري*, الافتراضي 512): ارتفاع الصورة المولدة بالبكسل. width (`int`, *اختياري*, الافتراضي 704): عرض الصورة المولدة بالبكسل. model_frame_rate (`float`, *اختياري*, الافتراضي 24.0): معدل الإطارات في وقت التدريب المستخدم لإحداثيات RoPE لفيديو Echo. memory_position_offset (`float`, *اختياري*, الافتراضي 500.0): المركز الزمني المُسند إلى خانة الذاكرة الأولى. memory_position_slot_stride (`float`, *اختياري*, الافتراضي 50.0): المسافة الزمنية بين مراكز خانات الذاكرة المتتالية. num_videos_per_prompt (`int`, *اختياري*, الافتراضي 1): عدد الفيديوهات لكل أمر. num_frames (`int`, *اختياري*, الافتراضي 241): عدد إطارات البكسل المولدة؛ يجب أن يكون `1 + k * vae_temporal_compression_ratio`. frame_rate (`float`, *اختياري*, الافتراضي 25.0): معدل إطارات الفيديو المولّد. latents (`Tensor`, *اختياري*): ضجيج فيديو أولي اختياري بصيغة VAE (B, C, F, H, W). audio_latents (`Tensor`, *اختياري*): ضجيج صوت أولي اختياري بصيغة VAE (B, C, L, M). generator (`Generator`, *اختياري*): مولّد Torch للتوليد الحتمي. sigmas (`list | tuple`): جدول sigma الخاص بـ DMD، بما في ذلك الصفر النهائي. attention_kwargs (`dict`, *اختياري*): معاملات إضافية لمعالجات الانتباه. output_type (`str`, *اختياري*, الافتراضي pil): صيغة الإخراج: 'pil'، 'np'، 'pt'. decode_timestep (`None`, *اختياري*, الافتراضي 0.0): خطوة الزمن المستخدمة لفك تشفير المتجهات النهائية. decode_noise_scale (`None`, *اختياري*): معامل استيفاء الضجيج المطبّق عند خطوة فك التشفير. | |
| المخرجات: مقاطع فيديو (`list`): مقاطع الفيديو المولّدة. الصوت (`Tensor`): موجة الصوت المولّدة. | |
Xet Storage Details
- Size:
- 10.5 kB
- Xet hash:
- adb0cc1b3ddf3c5dfad1c2dd18461ac638ce96c808aa425badd306986c3f79ec
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.