يحتوي هذا الريبو على تعريفات نموذج PyTorch والأوزان المدربة مسبقًا وكود الاستدلال/أخذ العينات لورقتنا التي تستكشف Hunyuan-DiT. يمكنك العثور على المزيد من التصورات على صفحة مشروعنا.
Hunyuan-DiT: محول نشر قوي متعدد الدقة مع فهم صيني دقيق
DialogGen: نظام حوار تفاعلي متعدد الوسائط لإنشاء تحويل النص إلى صورة متعدد المنعطفات
15 يوليو 2024: أطلقت HunYuanDiT وShacker.Ai بشكل مشترك حدث ضبط دقيق يعتمد على نموذج HunYuanDiT 1.2. من خلال نشر نموذج lora أو نموذج مضبوط استنادًا إلى HunYuanDiT، يمكنك الحصول على مكافأة تصل إلى 230 دولارًا من Shakker.Ai. راجع Shakker.Ai لمزيد من التفاصيل.
15 يوليو 2024: ؟ قم بتحديث ComfyUI لدعم سير العمل القياسي والتوافق مع الأوزان من وحدة t2i وتدريب Lora للإصدارات 1.1/1.2، بالإضافة إلى تلك التي تم تدريبها بواسطة Kohya أو البرنامج النصي الرسمي. راجع ComfyUI للحصول على التفاصيل.
15 يوليو 2024: ⚡ نحن نقدم بيئات Docker لـ CUDA 11/12، مما يسمح لك بتجاوز عمليات التثبيت المعقدة واللعب بنقرة واحدة! راجع عمال الرصيف للحصول على التفاصيل.
08 يوليو 2024: ؟ تم إصدار نسخة HYDiT-v1.2. يرجى مراجعة HunyuanDiT-v1.2 وDistillation-v1.2 لمزيد من التفاصيل.
03 يوليو 2024: ؟ إصدار Kohya-hydit متوفر الآن لنماذج v1.1 وv1.2، مع واجهة المستخدم الرسومية للاستدلال. النسخة الرسمية Kohya قيد المراجعة. انظر كوهيا للحصول على التفاصيل.
27 يونيو 2024: ؟ تم إصدار Hunyuan-Captioner، مما يوفر تعليقًا دقيقًا لبيانات التدريب. انظر الامتيازات للحصول على التفاصيل.
27 يونيو 2024: ؟ دعم LoRa وControlNet في أجهزة النشر. انظر الناشرون للحصول على التفاصيل.
27 يونيو 2024: ؟ تم إصدار البرامج النصية للاستدلال GPU VRAM سعة 6 جيجابايت. انظر لايت للحصول على التفاصيل.
19 يونيو 2024: ؟ تم إصدار ControlNet، الذي يدعم التحكم في الدقة والوضعية والعمق. راجع رموز التدريب/الاستدلال للحصول على التفاصيل.
13 يونيو 2024: ⚡ تم إصدار إصدار HYDiT-v1.1، والذي يخفف من مشكلة التشبع الزائد للصورة ويخفف من مشكلة العلامة المائية. يرجى مراجعة HunyuanDiT-v1.1 وDistillation-v1.1 لمزيد من التفاصيل.
13 يونيو 2024: ؟ تم إصدار كود التدريب، ليقدم تدريبًا كاملاً للمعلمات وتدريبًا على LoRA.
06 يونيو 2024: ؟ Hunyuan-DiT متوفر الآن في ComfyUI. يرجى التحقق من ComfyUI لمزيد من التفاصيل.
06 يونيو 2024: نقدم إصدار Distillation لتسريع Hunyuan-DiT، والذي يحقق تسارعًا بنسبة 50% على وحدات معالجة الرسومات NVIDIA. يرجى التحقق من التقطير لمزيد من التفاصيل.
05 يونيو 2024: ؟ Hunyuan-DiT متوفر الآن في ؟ الناشرون! يرجى التحقق من المثال أدناه.
04 يونيو 2024: دعم روابط Tencent Cloud لتنزيل النماذج المُدربة مسبقًا! يرجى التحقق من الروابط أدناه.
22 مايو 2024: نقدم إصدار TensorRT لتسريع Hunyuan-DiT، والذي يحقق تسارعًا بنسبة 47% على وحدات معالجة الرسومات NVIDIA. يرجى مراجعة TensorRT-libs للحصول على التعليمات.
22 مايو 2024: نحن ندعم العرض التوضيحي لتشغيل إنشاء text2image متعدد المنعطفات الآن. يرجى التحقق من البرنامج النصي أدناه.
مرحبًا بك في Tencent Hunyuan Bot الخاص بنا على شبكة الإنترنت، حيث يمكنك استكشاف منتجاتنا المبتكرة! ما عليك سوى إدخال المطالبات المقترحة أدناه أو أي مطالبات خيالية أخرى تحتوي على كلمات رئيسية متعلقة بالرسم لتنشيط ميزة إنشاء تحويل النص إلى صورة في Hunyuan. أطلق العنان لإبداعك وقم بإنشاء أي صورة تريدها، كل ذلك مجانًا!
يمكنك استخدام مطالبات بسيطة مشابهة لنص اللغة الطبيعية
أفضل ما في الأمر
رسم خنزير في بدلة
生成一幅画،赛博朋克风،跑车
إنشاء لوحة فنية، وأسلوب السايبربانك، والسيارة الرياضية
أو تفاعلات لغوية متعددة الأدوار لإنشاء الصورة.
هذا هو السبب وراء ذلك
ارسم طائرًا خشبيًا
شكرا جزيلا
تتحول إلى زجاج
Hunyuan-DiT (نموذج تحويل النص إلى صورة)
الاستدلال
نقاط التفتيش
نسخة التقطير
نسخة TensorRT
تمرين
لورا
شبكة التحكم (الوضعية، الحاذقة، العمق)
6 جيجابايت GPU VRAM الاستدلال
محول IP
نقاط تفتيش Hunyuan-DiT-S (نموذج 0.7B)
الامتيازات
الاستدلال
الاستدلال
Hunyuan-Captioner (إعادة تسمية أزواج الصور والنص الخام)
Hunyuan-DialogGen (نموذج التحسين الفوري)
عرض الويب (Gradio)
عرض T2I متعدد المنعطفات (Gradio)
عرض CLI
comfyUI
الناشرون
كوهيا
واجهة مستخدم الويب
Hunyuan-DiT: محول نشر قوي متعدد الدقة مع فهم صيني دقيق
أمثلة
تعليمات
الاستدلال
غراديو
كونترول نت
6 جيجابايت GPU VRAM الاستدلال
باستخدام غراديو
استخدام ؟ الناشرون
باستخدام سطر الأوامر
المزيد من التكوينات
باستخدام ComfyUI
باستخدام كوهيا
باستخدام الإصدارات السابقة
إعداد البيانات
تدريب المعلمة الكاملة
لورا
دليل التثبيت لنظام التشغيل Linux
هندسة DiT ثنائية اللغة الصينية-الإنجليزية
إنشاء نص 2 صورة متعدد المنعطفات
أخبار!!
جربه على شبكة الإنترنت
خطة مفتوحة المصدر
محتويات
خلاصة
الميزات الرئيسية Hunyuan-DiT
مقارنات
التصور
متطلبات
التبعيات والتثبيت
تنزيل النماذج المُدربة مسبقًا - 1. استخدام مرآة HF - 2. استئناف التنزيل
تمرين
الاستدلال
محول
هونيوان-Captioner
التسريع (لنظام التشغيل Linux)
بيبيتكس
ابدأ التاريخ
نقدم Hunyuan-DiT، وهو محول نشر النص إلى الصورة مع فهم دقيق لكل من اللغتين الإنجليزية والصينية. لبناء Hunyuan-DiT، قمنا بتصميم بنية المحولات وتشفير النص والتشفير الموضعي بعناية. نقوم أيضًا ببناء خط بيانات كامل من الصفر لتحديث البيانات وتقييمها لتحسين النموذج التكراري. لفهم اللغة بشكل دقيق، نقوم بتدريب نموذج لغة كبير متعدد الوسائط لتحسين التسميات التوضيحية للصور. أخيرًا، يمكن لـ Hunyuan-DiT إجراء حوار متعدد الوسائط مع المستخدمين، وإنشاء الصور وتحسينها وفقًا للسياق. من خلال بروتوكول التقييم البشري الشامل المصمم بعناية والذي يضم أكثر من 50 مقيمًا بشريًا محترفًا، تضع Hunyuan-DiT أحدث ما توصلت إليه التكنولوجيا في توليد الصور الصينية مقارنة بالنماذج الأخرى مفتوحة المصدر.
Hunyuan-DiT هو نموذج انتشار في الفضاء الكامن، كما هو موضح في الشكل أدناه. باتباع نموذج الانتشار الكامن، نستخدم أداة التشفير التلقائي المتغير (VAE) المدربة مسبقًا لضغط الصور إلى مساحات كامنة منخفضة الأبعاد وتدريب نموذج نشر لتعلم توزيع البيانات باستخدام نماذج الانتشار. يتم تحديد نموذج الانتشار الخاص بنا باستخدام محول. لتشفير المطالبات النصية، فإننا نستفيد من مزيج من CLIP ثنائي اللغة (الإنجليزية والصينية) المدرب مسبقًا وجهاز التشفير T5 متعدد اللغات.
يعد فهم تعليمات اللغة الطبيعية وإجراء تفاعل متعدد المنعطفات مع المستخدمين أمرًا مهمًا لنظام تحويل النص إلى صورة. يمكن أن يساعد في بناء عملية إنشاء ديناميكية ومتكررة تحول فكرة المستخدم إلى واقع ملموس خطوة بخطوة. في هذا القسم، سنتناول بالتفصيل كيفية تمكين Hunyuan-DiT من القدرة على إجراء محادثات متعددة الجوانب وتوليد الصور. نحن نقوم بتدريب MLLM على فهم حوار المستخدم متعدد الجولات وإخراج النص الجديد المطلوب لإنشاء الصور.
من أجل إجراء مقارنة شاملة لقدرات إنشاء HunyuanDiT والنماذج الأخرى، قمنا ببناء مجموعة اختبار رباعية الأبعاد، بما في ذلك اتساق النص والصورة، باستثناء عناصر الذكاء الاصطناعي، ووضوح الموضوع، والجمالية. يقوم بالتقييم أكثر من 50 مقيمًا محترفًا.
نموذج | مفتوح المصدر | تناسق النص مع الصورة (%) | باستثناء عناصر الذكاء الاصطناعي (%) | وضوح الموضوع (٪) | الجماليات (٪) | إجمالي (٪) | ||||
---|---|---|---|---|---|---|---|---|---|---|
SDXL | ✔ | 64.3 | 60.6 | 91.1 | 76.3 | 42.7 | ||||
بيكسارت-α | ✔ | 68.3 | 60.9 | 93.2 | 77.5 | 45.5 | ||||
ملعب 2.5 | ✔ | 71.9 | 70.8 | 94.9 | 83.3 | 54.3 | ||||
التنمية المستدامة 3 | ✘ | 77.1 | 69.3 | 94.6 | 82.5 | 56.7 | ||||
منتصف الرحلة v6 | ✘ | 73.5 | 80.2 | 93.5 | 87.2 | 63.3 | ||||
دال-E 3 | ✘ | 83.9 | 80.3 | 96.5 | 89.4 | 71.0 | ||||
هونيوان-ديت | ✔ | 74.2 | 74.3 | 95.4 | 86.6 | 59.0 |
العناصر الصينية
إدخال نص طويل
إنشاء نص 2 صورة متعدد المنعطفات
يتكون هذا الريبو من DialogGen (نموذج تحسين سريع) وHunyuan-DiT (نموذج تحويل النص إلى صورة).
ويبين الجدول التالي متطلبات تشغيل النماذج (حجم الدفعة = 1):
نموذج | --load-4bit (DialogGen) | ذاكرة GPU الذروة | GPU |
---|---|---|---|
DialogGen + هونيوان-DiT | ✘ | 32 جرام | A100 |
DialogGen + هونيوان-DiT | ✔ | 22 جرام | A100 |
هونيوان-ديت | - | 11 جرام | A100 |
هونيوان-ديت | - | 14 جرام | آر تي إكس 3090/آر تي إكس 4090 |
مطلوب وحدة معالجة الرسومات NVIDIA مع دعم CUDA.
لقد اختبرنا وحدات معالجة الرسومات V100 وA100.
الحد الأدنى : الحد الأدنى لذاكرة GPU المطلوبة هو 11 جيجابايت.
موصى به : نوصي باستخدام وحدة معالجة الرسومات (GPU) بذاكرة سعة 32 جيجابايت للحصول على جودة إنتاج أفضل.
نظام التشغيل الذي تم اختباره: لينكس
ابدأ باستنساخ المستودع:
استنساخ بوابة https://github.com/tencent/HunyuanDiTcd HunyuanDiT
نحن نقدم ملف environment.yml
لإعداد بيئة Conda. تعليمات تثبيت Conda متاحة هنا.
نوصي بإصدارات CUDA 11.7 و12.0+.
# 1. إعداد conda Environmentconda env create -f Environment.yml# 2. تنشيط البيئةcondaactivate HunyuanDiT# 3. تثبيت تبعيات النقطةpython -m pip install -r require.txt# 4. تثبيت Flash Attention v2 للتسريع (يتطلب CUDA 11.6 أو أعلاه) تثبيت python -m pip git+https://github.com/Dao-AILab/[email protected]
بالإضافة إلى ذلك، يمكنك أيضًا استخدام عامل الإرساء لإعداد البيئة.
# 1. استخدم الرابط التالي لتنزيل ملف tar لصورة عامل الإرساء.# لـ CUDA 12wget https://dit.hunyuan.tencent.com/download/HunyuanDiT/hunyuan_dit_cu12.tar# لـ CUDA 11wget https://dit.hunyuan. Tencent.com/download/HunyuanDiT/hunyuan_dit_cu11.tar# 2. قم باستيراد ملف docker tar وإظهاره معلومات تعريف الصورة # لتحميل CUDA 12docker -i hunyuan_dit_cu12.tar # لتحميل CUDA 11docker -i hunyuan_dit_cu11.tar docker image ls# 3. قم بتشغيل الحاوية بناءً على تشغيل imagedocker -dit --gpus all --init --net=host --uts=host --ipc=host --name hunyuandit --security-opt=seccomp= غير مقيد --ulimit=stack=67108864 --ulimit=memlock=-1 --docker_image_tag المميز
لتنزيل النموذج، قم أولاً بتثبيت ملف Huggingface-cli. (التعليمات التفصيلية متوفرة هنا.)
python -m pip install "huggingface_hub[cli]"
ثم قم بتنزيل النموذج باستخدام الأوامر التالية:
# قم بإنشاء دليل باسم 'ckpts' حيث سيتم حفظ النموذج، مع استيفاء المتطلبات الأساسية لتشغيل العرض التوضيحي.mkdir ckpts# استخدم أداة Huggingface-cli لتنزيل النموذج.# قد يختلف وقت التنزيل من 10 دقائق إلى ساعة واحدة حسب على ظروف الشبكة.huggingface-cli تنزيل Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
إذا واجهت سرعات تنزيل بطيئة في الصين، فيمكنك تجربة نسخة متطابقة لتسريع عملية التنزيل. على سبيل المثال،
HF_ENDPOINT=https://hf-mirror.com Huggingface-cli تنزيل Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
يدعم huggingface-cli
استئناف التنزيلات. إذا تمت مقاطعة التنزيل، يمكنك فقط إعادة تشغيل أمر التنزيل لاستئناف عملية التنزيل.
ملاحظة: إذا حدث خطأ مثل No such file or directory: 'ckpts/.huggingface/.gitignore.lock'
أثناء عملية التنزيل، فيمكنك تجاهل الخطأ وإعادة تشغيل أمر التنزيل.
سيتم تنزيل جميع النماذج تلقائيًا. لمزيد من المعلومات حول النموذج، قم بزيارة مستودع Hugging Face هنا.
نموذج | #بارامس | عنوان URL لتنزيل Huggingface | عنوان URL لتنزيل Tencent Cloud |
---|---|---|---|
mT5 | 1.6 ب | mT5 | mT5 |
مقطع | 350 م | مقطع | مقطع |
رمز مميز | - | رمز مميز | رمز مميز |
DialogGen | 7.0 ب | DialogGen | DialogGen |
سدكسل-vae-fp16-fix | 83 م | SDXL-VAE-FP16-FIX | سدكسل-vae-fp16-fix |
هونيوان-DiT-v1.0 | 1.5 ب | هونيوان-ديت | هونيوان-DiT-v1.0 |
هونيوان-DiT-v1.1 | 1.5 ب | هونيوان-DiT-v1.1 | هونيوان-DiT-v1.1 |
هونيوان-DiT-v1.2 | 1.5 ب | هونيوان-DiT-v1.2 | هونيوان-DiT-v1.2 |
عرض البيانات | - | - | عرض البيانات |
راجع الأوامر أدناه لإعداد بيانات التدريب.
تثبيت التبعيات
نحن نقدم مكتبة فعالة لإدارة البيانات، تسمى IndexKits، تدعم إدارة قراءة مئات الملايين من البيانات أثناء التدريب، راجع المزيد في المستندات.
# 1 تثبيت التبعياتcd HunyuanDiT تثبيت النقطة -e ./IndexKits
تنزيل البيانات
لا تتردد في تنزيل العرض التوضيحي للبيانات.
# 2 تنزيل البياناتwget -O ./dataset/data_demo.zip https://dit.hunyuan.tencent.com/download/HunyuanDiT/data_demo.zip بفك ./dataset/data_demo.zip -d ./dataset مكدير ./dataset/porcelain/arrows ./dataset/porcelain/jsons
تحويل البيانات
قم بإنشاء ملف CSV لبيانات التدريب مع الحقول المدرجة في الجدول أدناه.
الحقول | مطلوب | وصف | مثال |
---|---|---|---|
image_path | مطلوب | مسار الصورة | ./dataset/porcelain/images/0.png |
text_zh | مطلوب | نص | من المؤكد أن هذا قد يكون سببًا في تفاقم المشكلة، وهو أمر لا مفر منه. |
md5 | خياري | صورة md5 (خوارزمية ملخص الرسائل 5) | d41d8cd98f00b204e9800998ecf8427e |
width | خياري | عرض الصورة | 1024 |
height | خياري | ارتفاع الصورة | 1024 |
️ يمكن حذف الحقول الاختيارية مثل MD5 والعرض والارتفاع. إذا تم حذفها، فسيقوم البرنامج النصي أدناه بحسابها تلقائيًا. يمكن أن تستغرق هذه العملية وقتًا طويلاً عند التعامل مع بيانات التدريب واسعة النطاق.
نحن نستخدم Arrow لتنسيق بيانات التدريب، مما يوفر تمثيلًا قياسيًا وفعالًا لبيانات الذاكرة. يتم توفير برنامج نصي للتحويل لتحويل ملفات CSV إلى تنسيق Arrow.
# 3 تحويل البيانات بيثون ./hydit/data_loader/csv2arrow.py ./dataset/porcelain/csvfile/image_text.csv ./dataset/porcelain/arrows 1
اختيار البيانات وإنشاء ملف التكوين
نقوم بتكوين بيانات التدريب من خلال ملفات YAML. في هذه الملفات، يمكنك إعداد إستراتيجيات معالجة البيانات القياسية لتصفية بيانات التدريب ونسخها وإلغاء تكرارها والمزيد فيما يتعلق ببيانات التدريب. لمزيد من التفاصيل، راجع ./IndexKits.
للحصول على ملف عينة، يرجى الرجوع إلى الملف. للحصول على ملف تكوين المعلمة الكامل، راجع الملف.
إنشاء ملف فهرس بيانات التدريب باستخدام ملف YAML.
# إعداد البيانات ذات القرار الواحد idk base -c dataset/yamls/porcelain.yaml -t dataset/porcelain/jsons/porcelain.json # إعداد البيانات متعددة الدقة idk multireso -c dataset/yamls/porcelain_mt.yaml -t dataset/porcelain/jsons/porcelain_mt.json
هيكل الدليل لمجموعة بيانات porcelain
هو:
مؤتمر نزع السلاح ./dataset الخزف ├──الصور/ (ملفات الصور) │ ├──0.png │ ├──1.png │ ├──...... ├──csvfile/ (ملفات csv تحتوي على أزواج نصية وصور) │ ├──image_text.csv ├──الأسهم/ (ملفات الأسهم التي تحتوي على جميع بيانات التدريب الضرورية) │ ├──00000.السهم │ ├──00001.السهم │ ├──...... ├──jsons/ (ملفات فهرس بيانات التدريب النهائية التي تقرأ البيانات من ملفات الأسهم أثناء التدريب) │ ├──porcelain.json │ ├──porcelain_mt.json
متطلبات:
الحد الأدنى المطلوب هو وحدة معالجة رسومات (GPU) واحدة بذاكرة لا تقل عن 20 جيجابايت، ولكننا نوصي باستخدام وحدة معالجة رسومات (GPU) بذاكرة تبلغ حوالي 30 جيجابايت لتجنب تفريغ ذاكرة المضيف.
بالإضافة إلى ذلك، نحن نشجع المستخدمين على الاستفادة من وحدات معالجة الرسومات المتعددة عبر العقد المختلفة لتسريع التدريب على مجموعات البيانات الكبيرة.
يلاحظ:
يمكن للمستخدمين الشخصيين أيضًا استخدام Kohya خفيف الوزن لضبط النموذج بذاكرة تبلغ سعتها حوالي 16 جيجابايت. نحاول حاليًا تقليل استخدام الذاكرة لإطار عملنا على مستوى الصناعة للمستخدمين الشخصيين.
إذا كان لديك ذاكرة GPU كافية، فيرجى محاولة إزالة --cpu-offloading
أو --gradient-checkpointing
لتقليل تكاليف الوقت.
خصيصًا للتدريب الموزع، لديك المرونة للتحكم في التدريب أحادي العقدة / متعدد العقد عن طريق ضبط المعلمات مثل --hostfile
و --master_addr
. لمزيد من التفاصيل، انظر الرابط.
# التدريب على دقة واحدةPYTHONPATH=./ sh hydit/train.sh --index-file dataset/porcelain/jsons/porcelain.json# التدريب على الدقة المتعددةPYTHONPATH=./ sh hydit/train.sh --index-file dataset/porcelain/jsons /porcelain_mt.json --multireso --reso-step 64# التدريب على الإصدار القديم من HunyuanDiT (<= v1.1)PYTHONPATH=./ sh hydit/train_v1.1.sh --index-file dataset/porcelain/jsons/porcelain.json
بعد حفظ نقاط التحقق، يمكنك استخدام الأمر التالي لتقييم النموذج.
# الاستدلال # يجب عليك استبدال 'log_EXP/xxx/checkpoints/final.pt' بالمسار الفعلي الخاص بك. -dit-weight log_EXP/xxx/checkpoints/final.pt --load-key Module# الإصدار القديم من HunyuanDiT (<= v1.1)# يجب عليك استبدال "log_EXP/xxx/checkpoints/final.pt" بمسارك الفعلي.python Sample_t2i.py --infer-mode fa - -مطالبة "青花瓷风格،一只可爱的哈士奇" -جذر النموذج ./HunyuanDiT-v1.1 --use-style-cond --size-cond 1024 1024 --beta-end 0.03 --no-enhance --dit-weight log_EXP/xxx/checkpoints/final.pt --load- الوحدة الرئيسية
نحن نقدم نصوصًا تدريبية واستدلالية لـ LoRA، مفصلة في ./lora.
# التدريب على الخزف LoRA.PYTHONPATH=./ sh lora/train_lora.sh --index-file dataset/porcelain/jsons/porcelain.json# الاستدلال باستخدام أوزان LORA المدربة.python Sample_t2i.py --infer-mode fa --prompt """" --لا تعزيز --lora-ckpt log_EXP/001-lora_porcelain_ema_rank64/checkpoints/0001000.pt
نحن نقدم نوعين من أوزان LoRA المدربة porcelain
jade
، انظر التفاصيل على الروابط
cd HunyuanDiT# استخدم أداة Huggingface-cli لتنزيل النموذج. -اِسْتَدْعَى """"-no-enhance --load-key ema --lora-ckpt ./ckpts/t2i/lora/porcelain
أمثلة على بيانات التدريب | |||
青花瓷风格,一只蓝色的鸟儿站在蓝色的花瓶上,周围点缀着白色花朵,背景是白色 (نمط الخزف، طائر أزرق يقف على مزهرية زرقاء، محاطة بأزهار بيضاء، بخلفية بيضاء. ) | لا داعي للقلق بشأن ما قد يحدث في المستقبل أفضل ما في الأمر هو أن كل ما تحتاجه هو أفضل ما لديك (نمط البورسلين، وهو عبارة عن طبق من السيراميك باللونين الأزرق والأبيض يصور ثعلبًا وأشباله يتجولون في الغابة، بخلفية بيضاء). | نمط الخزف، على خلفية سوداء، يقف ذئب أزرق على طبق أزرق وأبيض، محاط بالأشجار والقمر.) | 青花瓷风格,在蓝色背景上,一只蓝色蝴蝶和白色花朵被放置在中央 (نمط الخزف، على خلفية زرقاء، يتم وضع فراشة زرقاء وزهور بيضاء في المركز.) |
أمثلة على نتائج الاستدلال | |||
青花瓷风格،苏州园林 (أسلوب الخزف، حدائق سوتشو.) | 青花瓷风格,一朵荷花 (نمط الخزف، زهرة اللوتس). | 青花瓷风格,一只羊(نمط الخزف، خروف.) | 青花瓷风格,一个女孩在雨中跳舞(أسلوب الخزف، فتاة ترقص تحت المطر). |
يتوفر الآن تشغيل HunyuanDiT في ذاكرة فيديو GPU بسعة أقل من 6 جيجابايت بناءً على الناشرين. نحن هنا نقدم التعليمات والعرض التوضيحي لبداية سريعة.
يدعم الإصدار 6 جيجابايت بطاقات الرسومات من سلسلة Nvidia Ampere architecture مثل RTX 3070/3080/4080/4090، وA100، وما إلى ذلك.
كل ما عليك فعله هو تثبيت المكتبة التالية:
تثبيت النقطة -U bitsandbytes تثبيت النقطة git+https://github.com/huggingface/diffusers شعلة تثبيت النقطة==2.0.0
ثم يمكنك الاستمتاع برحلة HunyuanDiT الخاصة بتحويل النص إلى صورة تحت ذاكرة GPU VRAM بسعة 6 جيجابايت مباشرةً!
هنا عرض توضيحي لك.
cd HunyuanDiT# البداية السريعةmodel_id=Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled موجه = 一个宇航员在骑马 infer_steps=50 التوجيه_مقياس=6 python3 lite/inference.py ${model_id} ${prompt} ${infer_steps} ${guidance_scale}
يمكن العثور على مزيد من التفاصيل في ./lite.
تأكد من تنشيط بيئة conda قبل تشغيل الأمر التالي.
# افتراضيًا، نبدأ واجهة المستخدم الصينية. استخدام Flash Attention لـ Accelerator.python app/hydit_app.py --infer-mode fa# يمكنك تعطيل نموذج التحسين إذا كانت ذاكرة GPU غير كافية.# لن يكون التحسين متاحًا حتى تقوم بإعادة تشغيل التطبيق بدون `--no- تعزيز العلم. python app/hydit_app.py --no-enhance --infer-mode fa# ابدأ بواجهة المستخدم الإنجليزيةpython app/hydit_app.py --lang en --infer-mode fa# ابدأ واجهة مستخدم جيل T2I متعددة المنعطفات. # إذا كانت ذاكرة وحدة معالجة الرسومات الخاصة بك أقل من 32 جيجابايت، فاستخدم "--load-4bit" لتمكين تكميم 4 بت، الأمر الذي يتطلب 22 جيجابايت على الأقل من الذاكرة.python app/multiTurnT2I_app.py --infer-mode fa
ثم يمكن الوصول إلى العرض التوضيحي من خلال http://0.0.0.0:443. تجدر الإشارة إلى أن 0.0.0.0 هنا يجب أن يكون XXXX مع عنوان IP الخاص بخادمك.
يرجى تثبيت الإصدار 2.0 أو أعلى من PyTorch مسبقًا لتلبية متطلبات الإصدار المحدد من مكتبة الناشرين.
تثبيت الناشرين، مع التأكد من أن الإصدار هو 0.28.1 على الأقل:
تثبيت النقطة git+https://github.com/huggingface/diffusers.git
أو
الناشرون تثبيت النقطة
يمكنك إنشاء صور بالمطالبات الصينية والإنجليزية باستخدام برنامج Python النصي التالي:
import torchfrom الناشرون import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers", torch_dtype=torch.float16)pipe.to("cuda")# يمكنك أيضًا استخدام المطالبة باللغة الإنجليزية لأن HunyuanDiT يدعم اللغتين الإنجليزية والصينية# موجه = "رائد فضاء يركب أ horse"prompt = "一个宇航员在骑马"image = Pipe(prompt).images[0]
يمكنك استخدام نموذجنا المقطر لإنشاء صور بشكل أسرع:
استيراد الشعلة من الناشرين import HunyuanDiTPipelinepipe = HunyuanDiTPipeline.from_pretrained("Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers-Distilled", torch_dtype=torch.float16)pipe.to("cuda")# يمكنك أيضًا استخدام المطالبة باللغة الإنجليزية كما يدعم HunyuanDiT باللغتين الإنجليزية والصينية# موجه = "رائد فضاء يركب مركبة horse"prompt = "一个宇航员在骑马"image = Pipe(prompt, num_inference_steps=25).images[0]
يمكن العثور على مزيد من التفاصيل في HunyuanDiT-v1.2-Diffusers-Distilled
المزيد من الوظائف: بالنسبة للوظائف الأخرى مثل LoRA وControlNet، يرجى إلقاء نظرة على الملف التمهيدي الخاص بـ ./diffusers.
نحن نقدم عدة أوامر للبدء السريع:
# تحويل النص إلى صورة فقط. وضع انتباه الفلاشpython Sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --no-enhance# إنشاء صورة بأحجام صور أخرى.python Sample_t2i.py --infer-mode fa --prompt "渔舟唱"--حجم الصورة 1280 768# تحسين سريع + تحويل النص إلى صورة. يتم تحميل DialogGen بتكميم 4 بت، لكنه قد يفقد الأداء.
يمكن العثور على المزيد من أمثلة المطالبات في example_prompts.txt
ندرج بعض التكوينات الأكثر فائدة لسهولة الاستخدام:
دعوى | تقصير | وصف |
---|---|---|
--prompt | لا أحد | موجه النص لتوليد الصورة |
--image-size | 1024 1024 | حجم الصورة التي تم إنشاؤها |
--seed | 42 | البذرة العشوائية لتوليد الصور |
--infer-steps | 100 | عدد خطوات أخذ العينات |
--negative | - | المطالبة السلبية لتوليد الصور |
--infer-mode | الشعلة | وضع الاستدلال (الشعلة، فا، أو تي آر تي) |
--sampler | com.ddpm | جهاز أخذ عينات الانتشار (ddpm، ddim، أو dpmms) |
--no-enhance | خطأ شنيع | تعطيل نموذج التحسين الفوري |
--model-root | ckpts | الدليل الجذر لنقاط التفتيش النموذجية |
--load-key | ema | تحميل نموذج الطالب أو نموذج EMA (ema أو الوحدة النمطية) |
--load-4bit | فاسل | قم بتحميل نموذج DialogGen مع تكميم 4 بت |
دعم اثنين من مسارات العمل: Standard ComfyUI وDiffusers Wrapper، مع التوصية بالأولى.
دعم HunyuanDiT-v1.1 وv1.2.
وحدة الدعم، ونماذج لورا وكليب لورا التي تم تدريبها بواسطة كوهيا.
وحدة الدعم، نماذج لورا التي تم تدريبها بواسطة نصوص التدريب الرسمية HunyunDiT.
ControlNet قريبا.
يمكن العثور على مزيد من التفاصيل في ./comfyui-hydit
نحن ندعم الرموز المخصصة لواجهة المستخدم الرسومية kohya_ss وأكواد التدريب على البرامج النصية sd لـ HunyuanDiT. يمكن العثور على مزيد من التفاصيل في ./kohya_ss-hydit
هونيوان-DiT <= v1.1
# =================== v1.1 =============== ==============# تنزيل modelhuggingface-cli تنزيل Tencent-Hunyuan/HunyuanDiT-v1.1 --local-dir ./HunyuanDiT-v1.1# الاستدلال باستخدام modelpython Sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.1 --use-style-cond --size-cond 1024 1024 --beta-end 0.03 # ===================================================================== v1.0 ========================# تنزيل النموذج Huggingface-cli تنزيل Tencent-Hunyuan/HunyuanDiT --local-dir ./HunyuanDiT-v1.0# الاستدلال باستخدام modelpython Sample_t2i.py --infer-mode fa --prompt "渔舟唱晚" --model-root ./HunyuanDiT-v1.0 --use-style-cond --size-cond 1024 1024 --beta-end 0.03
نحن نقدم نصوصًا تدريبية لـ ControlNet، مفصلة في ./controlnet.
# التدريب على ControlNet.PYTHONPATH=./ sh hydit/train_controlnet.sh
نحن نقدم ثلاثة أنواع من أوزان ControlNet المدربة لتحقيق depth
pose
canny
، راجع التفاصيل على الروابط
cd HunyuanDiT# استخدم أداة Huggingface-cli لتنزيل النموذج.# نوصي باستخدام الأوزان المقطرة كنموذج أساسي لاستدلال ControlNet، حيث يتم تدريب الأوزان المدربة مسبقًا لدينا عليها.huggingface-cli تنزيل Tencent-Hunyuan/HYDiT-ControlNet- v1.2 --local-dir ./ckpts/t2i/controlnet Huggingface-cli تنزيل Tencent-Hunyuan/Distillation-v1.2 ./pytorch_model_distill.pt --local-dir ./ckpts/t2i/model# بداية سريعةpython3 Sample_controlnet.py --infer-mode fa --no-enhance --load -التقطير الرئيسي - خطوات الاستدلال 50 - نوع التحكم الحاذق - موجه "الأمر الأكثر أهمية هو أن هذا هو ما يحدث في المستقبل." قد يكون هذا هو الحال بالنسبة لك. لا داعي للقلق بشأن هذه المشكلة. " --condition-image-path controlnet/asset/input/canny.jpg --control-weight 1.0
إدخال الحالة | ||
كاني كونترول نت | شبكة التحكم في العمق | بوز كونترول نت |
في نهاية المطاف، يجب أن تكون قادرًا على تحقيق أفضل النتائج، لا داعي للقلق بشأن ما قد يحدث في المستقبل. ربما يكون هذا هو الحال بالنسبة لك؟ في حين أن هذا هو ما يحدث في الصين، فإن في الليل، يقف تمثال أسد على الطراز الصيني القديم أمام الفندق، وتلمع عيناه كما لو كان يحرس المبنى. الخلفية هي مدخل الفندق ليلاً، بتركيبة قريبة وعلى مستوى العين ومركزية. تقدم هذه الصورة أسلوبًا فوتوغرافيًا واقعيًا، وتجسد ثقافة النحت الصينية، وتكشف عن جو غامض.) | لا داعي للقلق بشأن هذا الأمر، حيث يمكن أن يكون هناك الكثير من الأشياء التي يجب عليك القيام بها. يمكن أن تكون هذه هي المرة الأولى التي يحدث فيها هذا الأمر. في الغابة الكثيفة، يجلس الباندا الأبيض والأسود بهدوء بين الأشجار الخضراء والزهور الحمراء، وتحيط به الجبال والمحيطات. الخلفية عبارة عن غابة نهارية مع ضوء وافر. تستخدم الصورة تركيبة قريبة وعلى مستوى العين ومركزية لإنشاء تأثير واقعي.) | أفضل ما في الأمر هو أن كل ما تحتاجه هو أفضل ما لديك أفضل ما في الأمر هو أن كل ما عليك فعله هو أن تكون قادرًا على القيام بذلك. هذا هو السبب في أن هذا هو السبب في أن هذا هو السبب وراء نجاحنا في تحقيق النجاح. في الغابة أثناء النهار، تقف امرأة آسيوية ترتدي قميصًا أخضر بجانب فيل. تستخدم الصورة لقطة متوسطة وتركيبة مركزية على مستوى العين لإنشاء تأثير واقعي. تجسد هذه الصورة ثقافة تصوير الشخصيات وتضفي جوًا هادئًا.) |
كونترول نت الإخراج | ||
يلبي Hunyuan-Captioner الحاجة إلى تقنيات تحويل النص إلى صورة من خلال الحفاظ على درجة عالية من اتساق الصورة والنص. يمكنه إنشاء أوصاف صور عالية الجودة من مجموعة متنوعة من الزوايا، بما في ذلك وصف الكائن، وعلاقات الكائنات، ومعلومات الخلفية، ونمط الصورة، وما إلى ذلك. يعتمد الكود الخاص بنا على تطبيق LLaVA.
أ. تثبيت التبعيات
التبعيات والتثبيت هي في الأساس نفس النموذج الأساسي .
ب. تحميل النموذج
# استخدم أداة Huggingface-cli لتنزيل النموذج.huggingface-cli download Tencent-Hunyuan/HunyuanCaptioner --local-dir ./ckpts/captioner
يدعم نموذجنا ثلاثة أوضاع مختلفة، بما في ذلك: إنشاء تسمية توضيحية باللغة الصينية مباشرةً ، وإنشاء تسمية توضيحية باللغة الصينية استنادًا إلى معرفة محددة ، وإنشاء تسمية توضيحية باللغة الإنجليزية مباشرةً . يمكن أن تكون المعلومات المُدخلة إما إشارات دقيقة أو تسميات مشوشة (على سبيل المثال، الأوصاف الأولية التي تم الزحف إليها من الإنترنت). النموذج قادر على إنشاء أوصاف موثوقة ودقيقة بناءً على المعلومات المدرجة ومحتوى الصورة.
وضع | قالب موجه | وصف |
---|---|---|
caption_zh | الصورة الفوتوغرافية | التسمية التوضيحية باللغة الصينية |
Insert_content | اسم المنتج "{}"، اسم المنتج | تسمية توضيحية مع المعرفة المدرجة |
caption_en | يرجى وصف محتوى هذه الصورة | التسمية التوضيحية باللغة الإنجليزية |
أ. الاستدلال على صورة واحدة باللغة الصينية
بايثون mllm/caption_demo.py --mode "caption_zh" --image_file "mllm/images/demo1.png" --model_path "./ckpts/captioner"
ب. أدخل معرفة محددة في التسمية التوضيحية
python mllm/caption_demo.py --mode "insert_content" --content "宫保鸡丁" --image_file "mllm/images/demo2.png" --model_path "./ckpts/captioner"
ج. الاستدلال على صورة واحدة باللغة الإنجليزية
بايثون mllm/caption_demo.py --mode "caption_en" --image_file "mllm/images/demo3.png" --model_path "./ckpts/captioner"
د. صور متعددة الاستدلال باللغة الصينية