
Hướng dẫn cách thiết lập ComfyUI cho Stable Diffusion
Bạn đang chuẩn bị bước vào một hành trình khám phá vô cùng thú vị với ComfyUI, một giao diện người dùng tối ưu được tạo ra bởi comfyanonymous. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách thiết lập ComfyUI, cung cấp kiến thức cơ bản về các nút và cách tương tác với chúng, cũng như giới thiệu một số bước tiếp theo để bạn khám phá sâu hơn.
ComfyUI không chỉ là một giao diện người dùng thông thường, nó là một công cụ được thiết kế đặc biệt để khám phá và tìm hiểu về cách hoạt động của Stable Diffusion. Comfyanonymous, người sáng tạo của ComfyUI, đã đặt tâm huyết vào việc tạo ra một trải nghiệm tuyệt vời cho người dùng.
StabilityAI, nhóm phát triển của Stable Diffusion, đã nhận thấy tiềm năng của ComfyUI trong việc kiểm tra và hiểu rõ hơn về ổn định của Stable Diffusion. Họ đã hợp tác với comfyanonymous để phát triển và tối ưu hóa các công cụ nội bộ, mở ra cánh cửa cho sự tương tác sáng tạo và phát triển tiềm năng của Stable Diffusion.
Các tính năng của ComfyUI
ComfyUI, với một loạt tính năng độc đáo và mạnh mẽ, sẽ là đối tác đồng hành tuyệt vời cho bạn khi khám phá Stable Diffusion. Dưới đây là một số tính năng quan trọng mà ComfyUI mang lại:
- Giao Diện Dựa Trên Nút (Flowchart): Với giao diện dựa trên nút, bạn có thể tạo các quy trình phức tạp của Stable Diffusion mà không cần đến việc phải viết mã code phức tạp. Điều này giúp tạo nên quy trình làm việc hiệu quả và tương tác.
- Hỗ Trợ Đa Phiên Bản Stable Diffusion: ComfyUI cung cấp hỗ trợ đầy đủ cho nhiều phiên bản Stable Diffusion, bao gồm SD v1.x, SD v2.x và SDXL. Điều này mang lại linh hoạt và khả năng tương thích với các phiên bản khác nhau.
- Hỗ Trợ Các Công Cụ Nâng Cao: ComfyUI hỗ trợ LoRAs, Textual Inversions và Hypernetworks – những công cụ nâng cao giúp mở rộng khả năng và sáng tạo trong quá trình làm việc với Stable Diffusion.
- Khả Năng Chạy Trên Cả GPU và CPU: Với tính năng này, bạn có thể tận dụng sức mạnh của cả GPU và CPU để tối ưu hóa quá trình làm việc theo nhu cầu và tài nguyên của bạn.
Cho dù bạn là người mới và cảm thấy lạ lẫm với giao diện dựa trên nút, hoặc là người đã có kinh nghiệm nhưng cần tài liệu hướng dẫn chi tiết, ComfyUI sẽ hướng dẫn bạn từ cơ bản đến chi tiết. Hãy tiến tới với hướng dẫn cụ thể về cách sử dụng ComfyUI với SDXL và khám phá khả năng vô tận của Stable Diffusion.
Dưới đây là hướng dẫn về cách sử dụng ComfyUI cụ thể với SDXL.
ComfyUI so với AUTOMATIC1111
ComfyUI, một công cụ đột phá, mang đến khả năng sáng tạo với Stable Diffusion thông qua giao diện dựa trên nút. Đây chính như một biểu đồ công việc mạnh mẽ, cho phép bạn tùy chỉnh và kết nối các nút theo nhiều cách khác nhau.
Vậy tại sao bạn nên chọn ComfyUI thay vì lựa chọn đơn giản hơn như AUTOMATIC1111, InvokeAI hoặc SD.Next?
Tối Ưu Hóa Quy Trình Làm Việc
ComfyUI giúp tối ưu hóa công việc thông qua việc thực hiện đồng thời nhiều nhiệm vụ. Giả sử bạn cần thực hiện một quy trình tương tự cho nhiều hình ảnh – chuyển văn bản thành hình ảnh, tiếp theo là chuyển kết quả vào img2img, và sau đó tăng kích thước hình ảnh. Trong AUTOMATIC1111, bạn phải thực hiện từng bước thủ công. Nhưng với ComfyUI, bạn chỉ cần một lần nhấp chuột để hoàn thành toàn bộ quy trình.
Phù Hợp Với SDXL v1.0
Đặc biệt, ComfyUI hoàn hảo cho SDXL v1.0, đi kèm với 2 mô hình và quy trình 2 bước. Bạn có thể tạo latents nhiễu với mô hình cơ bản, sau đó tinh chỉnh chúng bằng mô hình chuyên biệt để loại bỏ nhiễu cuối cùng. Mô hình chuyên biệt nâng cao chất lượng và độ sắc nét của hình ảnh. ComfyUI đồng hành với quy trình này, giúp bạn thực hiện mọi bước một cách dễ dàng và nhanh chóng. Để tìm hiểu thêm về quy trình này, bạn có thể đọc thông tin chi tiết trong bài báo chính thức.
ComfyUI là một công cụ vượt trội, giúp mở rộng khả năng sáng tạo và tối ưu hóa quy trình làm việc với Stable Diffusion. Bằng cách sử dụng giao diện dựa trên nút, bạn sẽ trải nghiệm sự linh hoạt và hiệu suất vượt trội trong quá trình tạo ra những tác phẩm sáng tạo với Stable Diffusion.
Hướng dẫn cài đặt ComfyUI
Cài đặt ComfyUI
NVIDIA GPU
Có một phiên bản độc lập dành cho Windows có thể hoạt động trên GPU NVIDIA hoặc trên CPU của bạn:
Đơn giản là tải xuống và giải nén tệp .zip bằng 7-Zip.
Bạn sẽ có một thư mục có tên ComfyUI_windows_portable chứa thư mục ComfyUI.
GPU AMD (Chỉ dành cho Linux)
Chạy các lệnh sau, từng lệnh một:
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python -m pip install torch torchvision torchaudio –extra-index-url https://download.pytorch.org/whl/rocm5.4.2 -r requirements.txt
Sau đó, để bắt đầu:
python main.py
Nếu không thành công vì GPU của bạn không được hỗ trợ chính thức bởi ROCm (6700 XT , v.v..), bạn có thể thử chạy lệnh:
HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py
Mac
Bạn có thể cài đặt ComfyUI trên Apple Mac silicon (M1 hoặc M2) với bất kỳ phiên bản macOS gần đây nào.
Cài đặt pytorch nightly. Để biết hướng dẫn, đọc hướng dẫn Accelerated PyTorch training on Mac của Apple Developer (đảm bảo cài đặt phiên bản pytorch nightly mới nhất).
Thực hiện theo hướng dẫn cài đặt thủ công ComfyUI cho Windows và Linux.
Cài đặt các phụ thuộc của ComfyUI. Nếu bạn đã có một giao diện người dùng Stable Diffusion khác, bạn có thể tái sử dụng các phụ thuộc.
Khởi chạy ComfyUI bằng cách chạy lệnh python main.py –force-fp16. Lưu ý rằng –force-fp16 chỉ hoạt động nếu bạn đã cài đặt phiên bản pytorch nightly mới nhất.
Tải Xuống Mô Hình
Tất cả các mô hình nên được đặt trong thư mục: ComfyUI\models\checkpoints.
Chia sẻ mô hình giữa một giao diện người dùng khác và ComfyUI
Hãy giả sử bạn đã cài đặt một giao diện người dùng khác như AUTOMATIC1111. Bạn không muốn chiếm không gian ổ cứng bằng cách sao chép tất cả các mô hình kiểm tra vào cả thư mục AUTOMATIC1111 và thư mục ComfyUI.
Xem tệp cấu hình để đặt các đường dẫn tìm kiếm cho mô hình.
Trong phiên bản độc lập Windows, bạn có thể tìm thấy tệp này trong thư mục ComfyUI. Đổi tên tệp này thành extra_model_paths.yaml và chỉnh sửa nó bằng trình chỉnh sửa văn bản ưa thích của bạn.
Các Khái Niệm Cơ Bản của ComfyUI
Các luồng công việc ComfyUI được xây dựng từ Các Nút, được kết nối với nhau bằng cách sử dụng các đầu vào và đầu ra của chúng.
Bạn có thể thêm một nút bằng cách nhấp chuột phải vào không gian trống -> Add Node.
Các đầu vào và đầu ra chỉ tương thích nếu chúng có cùng màu sắc. Chú ý rằng tôi có thể kết nối đầu vào màu tím với đầu ra màu tím, nhưng không thể kết nối bất kỳ đầu khác nào.
Làm thế nào bạn biết được các nút nào tương thích với các nút nào?
<p>Nếu bạn kéo và thả một đầu vào vào không gian trống, bạn sẽ nhận được danh sách các nút tương thích:</p>
Khi bạn nhấp vào “Queue Prompt”, luồng công việc sẽ thông qua các nút theo thứ tự chúng được kết nối, bắt đầu từ Loaders, các nút này không có đầu vào, chỉ có đầu ra.
Nếu có bất kỳ nút nào thiếu đầu vào, bạn sẽ không thể chạy lệnh gợi ý:
Các Nút Cơ Bản
Sau khi nắm vững cơ bản về giao diện ComfyUI, câu hỏi thực sự xuất hiện: làm thế nào chúng ta hiểu được những gì thực sự đang diễn ra để chúng ta có thể tạo và sửa đổi luồng công việc của mình?
Hãy cùng nhìn vào luồng công việc mặc định.Vì ComfyUI chặt chẽ theo triển khai thực tế của Stable Diffusion, điều này sẽ giúp chúng ta hiểu cách Stable Diffusion hoạt động dưới nền.
Nếu bạn không đang sử dụng luồng công việc mặc định, hoặc bạn đã thay đổi giao diện, hãy nhấp vào “Load Default” trên thanh bên phải.
Tải checkpoint
Khi chúng ta tải các mô hình checkpoint của mình, chúng chứa trọng số cho 3 mô hình khác nhau.
CLIP
The CLIP đầu ra mô hình kết nối với clip đầu vào của CLIP Text Encode nodes.
Bộ mã hóa văn bản được sử dụng để chuyển đổi văn bản thành định dạng mà MODEL chính có thể hiểu được.
Các mô hình Machine Learning không thực sự hiểu dữ liệu văn bản.
Để mô hình hiểu văn bản, chúng ta cần chuyển đổi văn bản này thành các số chứa ý nghĩa của văn bản. Chúng tôi gọi đây là embeddings.
KSampler
Trong Stable Diffusion, hình ảnh được tạo ra bởi cái chúng ta gọi là một bộ lấy mẫu. Trong ComfyUI, điều này được biểu thị bằng nút “KSampler”.
Nút “KSampler” nhận các thông số sau làm đầu vào:
- model: Đầu ra MODEL từ nút “Load Checkpoint”
- positive: Mẫu tích cực được mã hóa bởi mô hình CLIP (đầu ra từ nút “CLIP Text Encode”)
- negative: Mẫu tiêu cực được mã hóa bởi mô hình CLIP (đầu ra từ nút “CLIP Text Encode” khác)
- latent_image: Một hình ảnh tiềm ẩn (đầu ra từ nút “Empty Latent Image”)
Vì chúng ta chỉ tạo ra một hình ảnh từ một mẫu (txt2img), chúng ta đang truyền hình ảnh tiềm ẩn dưới dạng hình ảnh trống bằng cách sử dụng nút “Empty Latent Image”.
(Bạn cũng có thể truyền một hình ảnh vào đầu vào “latent_image” của “KSampler”, bằng cách sử dụng sự kết hợp của các nút mà chúng ta sẽ nói về bên dưới.)
Các mẫu tích cực và tiêu cực được mã hóa được truyền cho MODEL chính ở mỗi bước lấy mẫu và được sử dụng để hướng dẫn quá trình loại bỏ nhiễu.
Quá trình loại bỏ nhiễu dần dần này là cách Stable Diffusion tạo ra hình ảnh.
Nút “KSampler” trả ra hình ảnh đã loại bỏ nhiễu.
VAE
Mô hình thứ ba và cuối cùng được sử dụng bởi Stable Diffusion là VAE, mà nút “VAEDecode” nhận làm đầu vào.
VAE được sử dụng để chuyển đổi một hình ảnh từ không gian tiềm ẩn sang không gian pixel.
Hình ảnh đã loại bỏ nhiễu từ “KSampler” thực tế không phải là điều chúng ta có thể nhìn thấy. Đó là một biểu diễn tiềm ẩn.
Nút “VAEDecode” chuyển hình ảnh tiềm ẩn này thành một hình ảnh thông thường, được hiển thị trong nút “Save Image”.
Và đó là cái nhìn tổng quan về luồng công việc mặc định.
Nguồn bài viết: https://aituts.com/comfyui/#ComfyUI_VS_AUTOMATIC1111
Tag:ComfyUI, ehomeai, Stable Diffusion