كيفية تشغيل Stable Diffusion محليًا باستخدام واجهة المستخدم الرسومية على Windows
نشرت: 2022-09-18يمكنك تثبيت Stable Diffusion محليًا على جهاز الكمبيوتر الخاص بك ، ولكن العملية المعتادة تتطلب الكثير من العمل مع سطر الأوامر للتثبيت والاستخدام. لحسن الحظ بالنسبة لنا ، حل مجتمع Stable Diffusion هذه المشكلة. إليك كيفية تثبيت إصدار من Stable Diffusion يعمل محليًا بواجهة مستخدم رسومية!
ما هو الانتشار المستقر؟
ما الذي تحتاجه لتشغيل هذا الإصدار من الانتشار المستقر؟
كيفية تثبيت Stable Diffusion باستخدام واجهة المستخدم الرسومية
قم بتثبيت Python First
قم بتثبيت Git وتنزيل GitHub Repo
قم بتنزيل All The Checkpoints
كيفية إنشاء الصور باستخدام الانتشار المستقر مع واجهة المستخدم الرسومية
كيفية إخفاء الصور التي تقوم بإنشائها لرسمها
كيفية إصلاح خطأ "نفاد الذاكرة CUDA"
ما هو الانتشار المستقر؟
Stable Diffusion هو نموذج ذكاء اصطناعي يمكنه إنشاء صور من مطالبات نصية ، أو تعديل الصور الحالية بموجه نصي ، مثل MidJourney أو DALL-E 2. تم إصداره لأول مرة في أغسطس 2022 بواسطة Stability.ai. إنه يفهم آلاف الكلمات المختلفة ويمكن استخدامه لإنشاء أي صورة تقريبًا يمكن أن تستحضرها خيالك بأي أسلوب تقريبًا.
هناك اختلافان جوهريان يميزان Stable Diffusion عن معظم مولدات فن الذكاء الاصطناعي الشائعة الأخرى ، على الرغم من:
- يمكن تشغيله محليًا على جهاز الكمبيوتر الخاص بك
- إنه مشروع مفتوح المصدر
النقطة الأخيرة هي حقًا القضية المهمة هنا. تقليديا ، يتم تثبيت Stable Diffusion وتشغيله عبر واجهة سطر الأوامر. إنه يعمل ، لكنه قد يكون عديم الجدوى وغير بديهي ويشكل عائقًا كبيرًا أمام دخول الأشخاص الذين قد يكونون مهتمين بخلاف ذلك. ولكن نظرًا لأنه مشروع مفتوح المصدر ، فقد أنشأ المجتمع بسرعة واجهة مستخدم له وبدأوا في إضافة التعزيزات الخاصة بهم ، بما في ذلك التحسينات لتقليل استخدام ذاكرة الوصول العشوائي للفيديو (VRAM) وبناء في الترقية والإخفاء.
ما الذي تحتاجه لتشغيل هذا الإصدار من الانتشار المستقر؟
هذا الإصدار من Stable Diffusion هو تفرع - فرع - من المستودع الرئيسي (repo) تم إنشاؤه وصيانته بواسطة Stability.ai. يحتوي على واجهة مستخدم رسومية (GUI) - مما يجعل استخدامه أسهل من الانتشار المستقر العادي ، الذي يحتوي فقط على واجهة سطر أوامر - ومثبت يتعامل مع معظم الإعداد تلقائيًا.
ذات صلة: كيفية تشغيل Stable Diffusion على جهاز الكمبيوتر الخاص بك لإنشاء صور AI
تحذير: كما هو الحال دائمًا ، كن حذرًا مع تفرع برامج الجهات الخارجية التي تجدها على GitHub. لقد استخدمنا هذا منذ فترة حتى الآن دون مشاكل ، وكذلك الآلاف من الآخرين ، لذلك نميل إلى القول إنه آمن. لحسن الحظ ، الكود والتغييرات هنا صغيرة مقارنة ببعض تفرع المشاريع مفتوحة المصدر.
تحتوي هذه الشوكة أيضًا على العديد من التحسينات التي يجب أن تسمح لها بالعمل على أجهزة الكمبيوتر ذات ذاكرة وصول عشوائي أقل ، وترقية مدمجة وقدرات الوجه باستخدام GFPGAN و ESRGAN و RealESRGAN و CodeFormer والإخفاء. يعد التقنيع أمرًا ضخمًا - فهو يسمح لك بتطبيق إنشاء صورة AI بشكل انتقائي على أجزاء معينة من الصورة دون تشويه الأجزاء الأخرى ، وهي عملية تسمى عادةً inpainting.
- ما لا يقل عن 10 جيجا بايت خالية على القرص الصلب الخاص بك
- وحدة معالجة رسومات NVIDIA بسعة 6 غيغابايت من ذاكرة الوصول العشوائي (على الرغم من أنك قد تتمكن من تشغيل 4 غيغابايت)
- جهاز كمبيوتر يعمل بنظام Windows 11 أو Windows 10 أو Windows 8.1 أو Windows 8
- WebUI GitHub Repo ، بواسطة AUTOMATIC1111
- Python 3.10.6 (يجب أن تكون الإصدارات الأحدث ومعظم الإصدارات الأقدم جيدة أيضًا)
- نقاط التفتيش الرسمية للانتشار المستقر (شاهد نقاط التفتيش v1.5 في أواخر سبتمبر!)
- نقاط فحص GFPGAN v1.3 (قد يعمل الإصدار 1.4 أيضًا)
- أي طرازات ESRGAN إضافية قد ترغب فيها. يمكنك استخدام العديد أو القليل كما تريد.
كيفية تثبيت Stable Diffusion باستخدام واجهة المستخدم الرسومية
تم تبسيط عملية التثبيت بشكل كبير ، ولكن لا تزال هناك بعض الخطوات التي يتعين عليك القيام بها يدويًا قبل استخدام المثبت.
قم بتثبيت Python First
أول شيء يجب عليك فعله هو تثبيت إصدار Python 3.10.6 الذي أوصى به مؤلف الريبو. توجه إلى هذا الرابط ، وانتقل إلى أسفل الصفحة ، وانقر على "Windows Installer (64 بت)."
انقر فوق الملف القابل للتنفيذ الذي قمت بتنزيله وانتقل إلى المطالبات. إذا كنت قد قمت بالفعل بتثبيت Python (وأنت بالتأكيد تفعل ذلك) ، فما عليك سوى النقر فوق "ترقية". خلاف ذلك اتبع جنبا إلى جنب مع المطالبات الموصى بها.
ملاحظة: تأكد من إضافة Python 3.10.6 إلى PATH إذا حصلت على خيار لذلك.
قم بتثبيت Git وتنزيل GitHub Repo
تحتاج إلى تنزيل Git وتثبيته على Windows قبل أن يمكن تشغيل مثبّت Stable Diffusion. ما عليك سوى تنزيل ملف Git القابل للتنفيذ 64 بت وتشغيله واستخدام الإعدادات الموصى بها ما لم يكن لديك شيء محدد في الاعتبار.
ذات صلة: كيفية تثبيت Git على Windows
بعد ذلك ، تحتاج إلى تنزيل الملفات من GitHub repo. انقر على زر "الرمز" الأخضر ، ثم انقر على "تنزيل الملف المضغوط" أسفل القائمة.
افتح ملف ZIP في File Explorer أو برنامج أرشفة الملفات المفضل لديك ، ثم قم باستخراج المحتويات في أي مكان تريده. فقط ضع في اعتبارك أن المجلد هو المكان الذي ستحتاج إلى الذهاب إليه لتشغيل Stable Diffusion. استخرجها هذا المثال إلى الدليل C: \ ، لكن هذا ليس ضروريًا.
ملاحظة: تأكد من عدم قيامك بسحب "stabil-diffusion-webui-master" بطريق الخطأ إلى مجلد آخر بدلاً من مساحة فارغة - إذا فعلت ذلك ، فسيتم إفلاته في هذا المجلد ، وليس المجلد الأصلي الذي كنت تقصده.
قم بتنزيل All The Checkpoints
هناك عدد قليل من نقاط التفتيش التي تحتاجها لكي يعمل هذا. الأولى والأكثر أهمية هي نقاط تفتيش الانتشار المستقر. تحتاج إلى إنشاء حساب لتنزيل نقاط التفتيش ، ولكن ليس هناك الكثير من المطلوب للحساب - كل ما يحتاجونه هو اسم وعنوان بريد إلكتروني ، وأنت على ما يرام.
ملاحظة: يبلغ حجم تنزيل نقاط التفتيش عدة غيغابايت. لا تتوقع أن يتم ذلك على الفور.
انسخ والصق "sd-v1-4.ckpt" في مجلد "stabil-diffusion-webui-master" من القسم السابق ، ثم انقر بزر الماوس الأيمن على "sd-v1-4.ckpt" واضغط على إعادة التسمية. اكتب "model.ckpt" في حقل النص واضغط على Enter. تأكد من أنه "model.ckpt" - لن يعمل هذا بطريقة أخرى.
ملاحظة: وظيفة إعادة التسمية هي رمز في Windows 11.
تحتاج أيضًا إلى تنزيل نقاط تفتيش GFPGAN. تم استدعاء مؤلف الريبو الذي نستخدمه لنقاط فحص GFPGAN v1.3 ، ولكن قد تتمكن من استخدام الإصدار 1.4 إذا كنت ترغب في تجربته. مرر إلى أسفل الصفحة ، ثم انقر على "نموذج V1.3".
ضع هذا الملف ، "GFPGANv1.3.pth ،" في مجلد "stabil-diffusion-webui-master" تمامًا كما فعلت مع ملف "sd-v1-4.ckpt" ، لكن لا تقم بإعادة تسميته. يجب أن يحتوي مجلد "stabil-diffusion-webui-master" الآن على هذه الملفات:
يمكنك أيضًا تنزيل أي عدد تريده من نقاط تفتيش ESRGAN. عادة ما تأتي في حزم كملفات مضغوطة. بعد تنزيل واحد ، افتح الملف المضغوط ، ثم قم باستخراج ملف “.pth” في مجلد “ESRGAN”. هنا مثال:
تميل نماذج ESRGAN إلى توفير وظائف أكثر تحديدًا ، لذا اختر زوجًا يروق لك.
الآن ، عليك فقط النقر نقرًا مزدوجًا فوق ملف "webui-user.bat" ، الموجود في المجلد الأساسي "stabil-diffusion-webui-master". ستظهر نافذة وحدة التحكم وتبدأ في جلب جميع الملفات المهمة الأخرى ، وإنشاء بيئة Python ، وإعداد واجهة مستخدم ويب. سيبدو مثل هذا:
ملاحظة: توقع أن تستغرق المرة الأولى التي تقوم فيها بتشغيل هذا بضع دقائق على الأقل. يحتاج إلى تنزيل مجموعة من الأشياء من الإنترنت. إذا بدا أنه معلق لفترة طويلة بشكل غير معقول في خطوة واحدة ، فحاول فقط تحديد نافذة وحدة التحكم والضغط على مفتاح Enter.
عند الانتهاء ، ستعرض وحدة التحكم:
يعمل على URL المحلي: http://127.0.0.1:7860 لإنشاء ارتباط عام ، قم بتعيين `share = True` في` launch () `
ذات صلة: ما هو عنوان 127.0.0.1 IP وكيف تستخدمه؟
كيفية إنشاء الصور باستخدام الانتشار المستقر مع واجهة المستخدم الرسومية
حسنًا ، لقد قمت بتثبيت متغير WebUI لـ Stable Diffusion ، وستعلمك وحدة التحكم أنه "يعمل على عنوان URL المحلي: http://127.0.0.1:7860."
ملحوظة: ماذا يعني ذلك بالضبط ، ماذا يحدث؟ 127.0.0.1 هو عنوان المضيف المحلي - عنوان IP الذي يقدمه جهاز الكمبيوتر الخاص بك لنفسه. ينشئ هذا الإصدار من Stable Diffusion خادمًا على جهاز الكمبيوتر المحلي الخاص بك يمكن الوصول إليه عبر عنوان IP الخاص به ، ولكن فقط إذا قمت بالاتصال عبر المنفذ الصحيح: 7860.
افتح المتصفح ، وأدخل "127.0.0.1:7860" أو "localhost: 7860" في شريط العناوين ، واضغط على Enter. سترى هذا في علامة التبويب txt2img:
إذا كنت قد استخدمت Stable Diffusion من قبل ، فستكون هذه الإعدادات مألوفة لك ، ولكن إليك نظرة عامة مختصرة عما تعنيه أهم الخيارات:
- موجه: وصف ما ترغب في إنشائه.
- زر Roll: لتطبيق نمط فني عشوائي على موجهك.
- خطوات أخذ العينات: عدد المرات التي سيتم فيها تنقيح الصورة قبل استلام المخرجات. المزيد أفضل بشكل عام ، لكن هناك عوائد متناقصة.
- طريقة أخذ العينات: الرياضيات الأساسية التي تحكم كيفية التعامل مع أخذ العينات. يمكنك استخدام أي من هذه الخيارات ، ولكن يبدو أن euler_a و PLMS هما أكثر الخيارات شيوعًا. يمكنك قراءة المزيد عن PLMS في هذه الورقة.
- استعادة الوجوه: يستخدم GFPGAN لمحاولة إصلاح الوجوه الغريبة أو المشوهة.
- عدد الدُفعات: عدد الصور التي سيتم إنشاؤها.
- حجم الدُفعة: عدد "الدُفعات". احتفظ بهذا عند 1 ما لم يكن لديك قدر هائل من VRAM.
- مقياس CFG: إلى أي مدى سوف يتبع الانتشار المستقر التوجيه الذي تقدمه له. تعني الأرقام الأكبر أنها تتبعها بعناية شديدة ، بينما تمنحها الأرقام الأقل حرية إبداعية أكبر.
- العرض: عرض الصورة التي تريد توليدها.
- الارتفاع: عرض الصورة التي تريد إنشاءها.
- البذور: الرقم الذي يوفر إدخالًا أوليًا لمولد الأرقام العشوائية. اتركه عند -1 لتوليد بذرة جديدة بشكل عشوائي.
دعنا ننتج خمس صور بناءً على الموجه: "بقرة مرتفعة في غابة سحرية ، تصوير فيلم 35 مم ، حاد" ونرى ما نحصل عليه باستخدام عينة PLMS ، و 50 خطوة لأخذ العينات ، ومقياس CFG من 5.
نصيحة: يمكنك دائمًا الضغط على زر "مقاطعة" لإيقاف التوليد إذا كانت وظيفتك تستغرق وقتًا طويلاً.
ستبدو نافذة الإخراج كما يلي:
ملاحظة: ستكون صورك مختلفة.
الصورة العلوية الوسطى هي تلك التي سنستخدمها لتجربتها لإخفاءها لاحقًا. لا يوجد سبب حقيقي لهذا الاختيار المحدد بخلاف التفضيل الشخصي. التقط أي صورة تريدها.
حدده ، ثم انقر فوق "إرسال إلى Inpaint".
كيفية إخفاء الصور التي تقوم بإنشائها لرسمها
Inpainting ميزة رائعة. عادةً ما يتم استخدام Stable Diffusion لإنشاء صور كاملة من موجه ، لكن inpainting يسمح لك بإنشاء (أو تجديد) أجزاء من الصورة بشكل انتقائي. يوجد خياران مهمان هنا: طلاء مقنع ، طلاء غير مقنع.
سيستخدم Inpaint Masked المطالبة لإنشاء صور داخل المنطقة التي تحددها ، بينما يؤدي inpaint غير المقنع إلى العكس تمامًا - سيتم الاحتفاظ بالمنطقة التي تقنعها فقط.
سنغطي قليلاً عن Inpaint ملثمين أولاً. اسحب الماوس حول الصورة مع الضغط على الزر الأيسر وستلاحظ ظهور طبقة بيضاء فوق الصورة. ارسم شكل المنطقة التي تريد استبدالها ، وتأكد من ملئها بالكامل. أنت لا تطوف حول منطقة ، أنت تخفي المنطقة بأكملها.
تلميح: إذا كنت تقوم فقط بإضافة شيء ما إلى صورة موجودة ، فقد يكون من المفيد محاولة جعل المنطقة المقنعة تتماشى مع الشكل التقريبي الذي تحاول إنشائه. إخفاء شكل مثلث عندما تريد دائرة ، على سبيل المثال ، يؤدي إلى نتائج عكسية.
لنأخذ مثال بقرة المرتفعات ونمنحه قبعة طاهٍ. قم بإخفاء منطقة في شكل قبعة الطاهي تقريبًا ، وتأكد من تعيين "حجم الدُفعة" على أكثر من 1. ستحتاج على الأرجح إلى أكثر من عدة مرات للحصول على نتيجة (ish) مثالية.
بالإضافة إلى ذلك ، يجب تحديد "ضوضاء كامنة" بدلاً من "ملء" أو "أصلي" أو "لا شيء كامن". تميل إلى الحصول على أفضل النتائج عندما تريد إنشاء كائن جديد تمامًا في المشهد.
ملاحظة: ستلاحظ أن الحافة اليسرى للقبعة قد حذفت جزءًا من قرنه. حدث ذلك لأن إعداد "تمويه القناع" كان مرتفعًا جدًا. إذا رأيت أشياء من هذا القبيل في صورك ، فحاول تقليل قيمة "تمويه القناع".
حسنًا - ربما لا تكون قبعة الطاهي هي الاختيار المناسب لبقرتك في المرتفعات. إن بقرة المرتفعات الخاصة بك هي أكثر في مشاعر أوائل القرن العشرين ، لذلك دعونا نمنحه قبعة الرامي.
كيف رشيقة بشكل إيجابي.
بالطبع ، يمكنك أيضًا القيام بالعكس تمامًا باستخدام Inpaint Not Masked. إنه مشابه من الناحية المفاهيمية ، باستثناء المناطق التي تحددها معكوسة. بدلاً من تحديد المنطقة التي تريد تغييرها ، يمكنك تحديد المناطق التي تريد الاحتفاظ بها. غالبًا ما يكون مفيدًا عندما تريد نقل كائن صغير إلى خلفية مختلفة.
كيفية إصلاح خطأ "نفاد الذاكرة CUDA"
كلما كبرت الصورة ، زادت ذاكرة الفيديو المطلوبة. أول شيء يجب أن تجربه هو إنشاء صور أصغر. ينتج عن الانتشار المستقر صورًا جيدة - وإن كانت مختلفة جدًا - عند 256 × 256.
إذا كنت ترغب في عمل صور أكبر حجمًا على جهاز كمبيوتر لا توجد به مشكلات مع صور 512 × 512 ، أو كنت تواجه العديد من أخطاء "نفاد الذاكرة" ، فهناك بعض التغييرات على التكوين التي من المفترض أن تساعدك.
افتح "webui-user.bat" في Notepad ، أو أي محرر نص عادي آخر تريده. ما عليك سوى النقر بزر الماوس الأيمن فوق "webui-user.bat" ، ثم النقر فوق "تحرير" ، ثم تحديد "المفكرة". حدد السطر الذي يقرأ set COMMANDLINE_ARGS=
. هذا هو المكان الذي ستضع فيه الأوامر لتحسين كيفية تشغيل Stable Diffusion.
ذات صلة: كيفية كتابة دفعة البرنامج النصي على Windows
إذا كنت ترغب فقط في إنشاء صور ضخمة ، أو نفدت ذاكرة الوصول العشوائي (RAM) على وحدة معالجة الرسومات من سلسلة GTX 10XX ، فجرّب --opt-split-attention
أولاً. سيبدو كالتالي:
ثم انقر فوق ملف> حفظ. بدلاً من ذلك ، يمكنك الضغط على Ctrl + S على لوحة المفاتيح.
إذا استمر ظهور أخطاء الذاكرة ، فحاول إضافة --medvram
إلى قائمة وسيطات سطر الأوامر (COMMANDLINE_ARGS).
يمكنك إضافة --always-batch-cond-uncond
لمحاولة إصلاح مشكلات الذاكرة الإضافية إذا لم تساعد الأوامر السابقة. هناك أيضًا بديل لـ --medvram
الذي قد يقلل من استخدام VRAM بشكل أكبر ، --lowvram
، لكن لا يمكننا أن نشهد على ما إذا كان سيعمل بالفعل أم لا.
تعد إضافة واجهة مستخدم خطوة مهمة إلى الأمام في جعل هذه الأنواع من الأدوات التي تعتمد على الذكاء الاصطناعي في متناول الجميع. الاحتمالات لا حصر لها تقريبًا ، وحتى نظرة سريعة على المجتمعات عبر الإنترنت المخصصة لفن الذكاء الاصطناعي ستظهر لك مدى قوة التكنولوجيا ، حتى في مهدها. بالطبع ، إذا لم يكن لديك جهاز كمبيوتر للألعاب ، أو إذا كنت لا تريد القلق بشأن الإعداد ، فيمكنك دائمًا استخدام أحد المولدات الفنية للذكاء الاصطناعي على الإنترنت. فقط ضع في اعتبارك أنه لا يمكنك افتراض أن إدخالاتك خاصة.