ตอนนี้ หลายคนอาจไม่มี GPU ที่หรูหรา นั่นไม่เป็นไร เราสามารถรัน Stable Diffusion บน CPU ของเราได้
นี่คือการใช้งาน Stable Diffusion ที่เรียบง่ายมาก อย่าคาดหวังฟีเจอร์ที่ล้ำสมัย
หากคุณมี GPU ที่เข้ากันได้ซึ่งมี 2-4gb Vram หรือมากกว่า ลองดูที่ คู่มือ Voldy
สำหรับวัตถุประสงค์ส่วนใหญ่ อาจจะสะดวกกว่าที่จะใช้ บริการเว็บ หรือ collab สำหรับ Stable Diffusion
แต่ก็มีบางอย่างพิเศษเกี่ยวกับการสามารถสร้างได้ด้วย CPU ที่เรียบง่ายของคุณเอง
เครดิตทั้งหมดไปที่ bes-dev และ rpyth
- ฟีเจอร์
Txt2img/img2img
Negative prompts
การจัดคิว prompt
การขยายขนาด
การสนับสนุน Waifu Diffusion
- ข้อกำหนดขั้นต่ำ:
Windows/Linux
Python 3.8.+ (รวมอยู่ใน Miniconda)
CPU ที่เข้ากันได้กับ OpenVINO (CPU ส่วนใหญ่)
8gb RAM (แทบจะไม่พอ แนะนำ 16gb+)
- มันเร็วแค่ไหน?
มันอาจจะไม่เร็วเท่ากับ GPU ที่เฉพาะเจาะจงเนื่องจากข้อจำกัดความเร็วของหน่วยความจำ แต่ก็ไม่ช้าเกินไป
สำหรับ CPU ใด ๆ ในช่วง 10 ปีที่ผ่านมา รวมถึงแบบโน้ตบุ๊ก มันไม่ควรใช้เวลานานเกินกว่าสองสามนาทีต่อผลลัพธ์ 512x
เฟรมเวิร์ก openVINO ได้รับการปรับแต่งและรวดเร็วอย่างไม่น่าเชื่อ โดยเฉพาะสำหรับ CPU ของ Intel และจะดึงศักยภาพสูงสุดจากฮาร์ดแวร์ของคุณ
คู่มือ
ขั้นตอนที่ 1. ติดตั้ง Git หากคุณยังไม่มี
-เมื่อทำการติดตั้ง ให้แน่ใจว่าได้เลือกการรวม Windows Explorer > Git Bash
ขั้นตอนที่ 2. (W10) กดปุ่ม Windows + I เพื่อเปิดแผงควบคุมของคุณและค้นหา “Developer Mode” แล้วเปิด ใช้งาน
ขั้นตอนที่ 3. ดาวน์โหลด Miniconda ที่นี่. ดาวน์โหลด Miniconda 3
-ติดตั้ง Miniconda ในตำแหน่งเริ่มต้น ติดตั้งสำหรับ ผู้ใช้ทั้งหมด.
ขั้นตอนที่ 4. โคลน repo
-คลิกขวาในตำแหน่งที่คุณต้องการและเลือก ‘Git Bash ที่นี่’
-ใส่ git clone https://github.com/bes-dev/stable_diffusion.openvino
หรือคุณสามารถดาวน์โหลดเป็น .zip ที่นี่ และแตกไฟล์
ขั้นตอนที่ 5. เปิด Anaconda Prompt (miniconda3).
ไปที่โฟลเดอร์ /stable-diffusion-v1-4-openvino ที่คุณดาวน์โหลดโดยใช้ “cd” เพื่อกระโดดไปยังโฟลเดอร์ต่าง ๆ.
(หรือเพียงแค่พิมพ์ “cd” ตามด้วยช่องว่างแล้วลากโฟลเดอร์เข้าไปใน Anaconda prompt.)
ขั้นตอนที่ 6. ใส่คำสั่งต่อไปนี้ลงใน Miniconda เพื่อกำหนดค่าบริการของคุณ:
conda create --name vin python=3.9 pip
conda activate vin
conda install pip
pip install -r requirements.txt
pip install Pillow pyyaml sv-ttk
รออย่างใจเย็นในขณะที่ติดตั้งทรัพยากรที่จำเป็น อาจใช้เวลาสักครู่
ขั้นตอนที่ 7. ดาวน์โหลด สคริปต์ pyGUI
แตกไฟล์และคัดลอกไฟล์ทั้งหมดไปยังโฟลเดอร์หลักของคุณ /stable-diffusion-v1-4-openvino และกด แทนที่ ในกรณีที่มีไฟล์ที่ขัดแย้งกัน
ขั้นตอนที่ 8. ดาวน์โหลด RealESRGAN upscaler (เวอร์ชัน linux)
แตกไฟล์และวางโฟลเดอร์ไว้ใน /stable-diffusion-v1-4-openvino
และคุณก็เสร็จเรียบร้อย
การใช้งาน
1. เปิด Anaconda prompt และไปที่ /stable-diffusion-v1-4-openvino เช่นเคย
2. พิมพ์ conda activate vin (คุณจะต้องทำเช่นนี้ทุกครั้งที่คุณรันสคริปต์)
3. พิมพ์ python pygui.py
การตั้งค่าในครั้งแรก
ไปที่การตั้งค่า -> กำหนดค่าใน GUI
-กด [?] เพื่อเปิดเบราว์เซอร์ไฟล์และเชื่อมโยงไฟล์ RealESRGAN executable โดยกด ‘เปิด’
-เชื่อมโยงไฟล์ demo.py ของคุณจากโฟลเดอร์ openvino ในลักษณะเดียวกัน
-เพิ่มเส้นทางไปยังไฟล์ executable Python ของคุณ ควรเป็น C:\ProgramData\Miniconda3\python.exe
-กดบันทึก
การสร้าง
- ไปที่ Queue -> Add Item เพื่อใส่ prompt ใหม่
- หรือ Queue -> Restore Item เพื่อโหลด prompt ล่าสุดที่คุณใส่
Prompt: คำสำคัญที่อธิบายสิ่งที่คุณต้องการ ให้มีรายละเอียดเพื่อผลลัพธ์ที่ดีที่สุด
Unprompt: คำสำคัญที่อธิบายสิ่งที่คุณ ไม่ต้องการ ในภาพของคุณ
Output: เส้นทางและชื่อของไฟล์ .png ที่คุณต้องการส่งออก
Image: Img2Img, เลือกไฟล์ภาพเพื่อสร้างตัวแปรของมัน
Steps: จำนวนรอบที่ควรทำสำหรับผลลัพธ์ ยิ่งมาก = ยิ่งดี 35-55 เป็นจุดที่ดีที่สุด >75 ถือว่ามากเกินไป
Seed: Seed สำหรับผลลัพธ์ ถูกสุ่มโดยค่าเริ่มต้น
Upscale: เลือกวิธีที่คุณต้องการให้ภาพของคุณขยายขนาด
Config: บันทึกข้อมูลเกี่ยวกับผลลัพธ์ของคุณ
ลิงก์/หมายเหตุ
- หากคุณได้รับข้อผิดพลาดเกี่ยวกับเวอร์ชัน Python กับ 3.10 และไม่ต้องการติดตั้งที่ขัดแย้งกัน ลองใช้ Winpython 3.9 แบบพกพา
- คุณสามารถจัดคิว หลาย prompt ที่แตกต่างกันเพื่อรันทีละอัน
นี่สามารถสะดวกมากเพราะคุณไม่ต้องรอให้ผลลัพธ์เสร็จสิ้นเพื่อใส่ prompt ใหม่)
- หากคุณไม่เลือกโฟลเดอร์ผลลัพธ์ ผลลัพธ์จะถูกส่งออกใน /appdata/local/tmp กด ‘บันทึกเป็น’ เพื่อไม่ให้คุณสูญเสียพวกเขา)
- หากผลลัพธ์ของคุณช้า ผิดปกติ (10-15+ นาที)
อาจเป็นไปได้ว่าขีดจำกัด RAM ของคุณถูกเกินและ SD ใช้พาร์ติชันสลับในไดรฟ์ของคุณเป็น RAM ชั่วคราว (ปัญหาทั่วไปกับ 8gb)
ปิดโปรแกรมอื่น ๆ ทั้งหมดและปล่อยหน่วยความจำมากขึ้น
- Stable Diffusion openVINO Github
- Stable Diffusion openVINO page
- Litechan page
- Progrock upscaler (เข้ากันได้กับ openVINO)
–ความเร็วต่อผลลัพธ์–
(Intel(R) Core(TM) i5-8279U) 7.4 s/it 3.59 นาที
(AMD Ryzen Threadripper 1900X) 5.34 s/it 2.58 นาที
(Intel(R) Xeon(R) Gold 6154 CPU) 1 s/it 33 วินาที