Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the jnews-view-counter domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/midjourney/domains/khoahocmidjourney.com/public_html/wp-includes/functions.php on line 6114
Bạn sẽ trông như thế nào sau khi sử dụng ComfyUI thật sự. – Hướng dẫn học và kiếm tiền từ MIDJOURNEY từ A – Z

Tháng tám 13

Bạn sẽ trông như thế nào sau khi sử dụng ComfyUI thật sự.

0  comments

ComfyUI là một GUI dựa trên node cho Stable Diffusion. Hướng dẫn này dành cho người chưa từng sử dụng ComfyUI trước đây. Tôi sẽ hướng dẫn về:

  • Text-to-image
  • Image-to-image
  • SDXL workflow
  • Inpainting
  • Sử dụng LoRAs
  • ComfyUI Manager – quản lý các custom nodes trong GUI.
  • Impact Pack – một tập hợp các nodes ComfyUI hữu ích.
  • Các khóa học Structured Stable Diffusion
  • Trở thành chuyên gia Stable Diffusion từng bước.
  • Xem các khóa học
  • Mục lục

ComfyUI là gì?

ComfyUI là một GUI dựa trên node cho Stable Diffusion. Bạn có thể xây dựng quy trình tạo hình ảnh bằng cách liên kết các block khác nhau (gọi là nodes) lại với nhau.

Một số block thường được sử dụng bao gồm: Loading a Checkpoint Model, nhập prompt, chỉ định sampler, v.v. ComfyUI chia nhỏ một quy trình thành các yếu tố có thể sắp xếp lại để bạn dễ dàng tạo quy trình của riêng mình.

Cài đặt ComfyUI
Bạn sẽ cần một phiên bản hoạt động của ComfyUI để theo dõi hướng dẫn này.

ComfyUI vs AUTOMATIC1111
AUTOMATIC1111 là GUI phổ biến nhất cho Stable Diffusion.

Bạn có nên sử dụng ComfyUI thay vì AUTOMATIC1111 không? Dưới đây là so sánh:

Lợi ích của việc sử dụng ComfyUI:

  • Nhẹ: chạy nhanh.
  • Linh hoạt: rất dễ cấu hình.
  • Minh bạch: Dòng dữ liệu hiển thị trước mặt bạn.
  • Dễ chia sẻ: Mỗi file là một quy trình có thể tái tạo.
  • Tốt cho prototyping: Prototyping với giao diện đồ họa thay vì code.

Nhược điểm của việc sử dụng ComfyUI:

  • Giao diện không đồng nhất: Mỗi quy trình có thể đặt các nodes khác nhau. Bạn cần phải tìm hiểu xem cần thay đổi điều gì.
  • Quá chi tiết: Người dùng thông thường không cần biết cách mọi thứ được kết nối dưới lớp bên dưới. (Đó không phải là mục đích của việc sử dụng GUI sao?)

Bắt đầu từ đâu?
Cách tốt nhất để học ComfyUI là thông qua các ví dụ. Vì vậy, chúng ta sẽ học cách thực hiện mọi thứ trong ComfyUI thông qua quy trình text-to-image đơn giản nhất.

Chúng ta sẽ đi qua một số ví dụ về quy trình cơ bản. Sau khi nghiên cứu một số quy trình thiết yếu, bạn sẽ bắt đầu hiểu cách tạo quy trình của riêng mình.

Điều khiển cơ bản
Sử dụng con lăn chuột hoặc chụm hai ngón tay để phóng to và thu nhỏ.

Kéo và giữ điểm của input hoặc output để tạo kết nối. Bạn chỉ có thể kết nối giữa input và output cùng loại.

Giữ và kéo với chuột trái để di chuyển xung quanh workspace.

Nhấn Ctrl-0 (Windows) hoặc Cmd-0 (Mac) để hiển thị bảng Queue.

Text-to-image
Hãy bắt đầu với trường hợp đơn giản nhất: tạo hình ảnh từ văn bản.

Tạo hình ảnh đầu tiên của bạn trên ComfyUI
Sau khi khởi động ComfyUI lần đầu tiên, bạn sẽ thấy quy trình text-to-image mặc định. Nó sẽ trông như thế này:

Nếu đây không phải là những gì bạn thấy, hãy nhấp vào Load Default trên bảng điều khiển bên phải để quay lại quy trình text-to-image mặc định này.

Bạn sẽ thấy quy trình được tạo từ hai block cơ bản: Nodes và edges.

Nodes là các block hình chữ nhật, ví dụ: Load Checkpoint, Clip Text Encoder, v.v. Mỗi node thực thi một số code. Nếu bạn có kinh nghiệm lập trình, bạn có thể coi chúng như các hàm. Mỗi node cần ba thứ:

  • Inputs là các văn bản và các chấm ở bên trái mà dây cắm vào.
  • Outputs là các văn bản và các chấm ở bên phải mà dây ra ngoài.
  • Parameters là các trường ở giữa block.

Edges là các dây kết nối các outputs và inputs giữa các nodes.

Đó là toàn bộ ý tưởng! Phần còn lại là chi tiết.

Đừng lo lắng nếu thuật ngữ trên các nodes có vẻ khó hiểu. Chúng ta sẽ đi qua một ví dụ đơn giản về cách sử dụng ComfyUI, giới thiệu một số khái niệm, và dần dần chuyển sang các quy trình phức tạp hơn.

Dưới đây là cách đơn giản nhất để bạn có thể sử dụng ComfyUI. Bạn nên ở trong quy trình làm việc mặc định.

1.Chọn mô hình

Trước tiên, hãy chọn mô hình Stable Diffusion Checkpoint trong nút Load Checkpoint. Nhấp vào tên mô hình để hiển thị danh sách các mô hình có sẵn.

Nếu nút quá nhỏ, bạn có thể sử dụng bánh xe chuột hoặc chụm hai ngón tay trên touchpad để phóng to và thu nhỏ.

Nếu nhấp vào tên mô hình mà không có gì xảy ra, có thể bạn chưa cài đặt mô hình hoặc chưa cấu hình để sử dụng các mô hình hiện có trong A1111. Hãy quay lại hướng dẫn cài đặt để sửa chữa trước.

2.Nhập một prompt và một negative prompt

Bạn sẽ thấy hai nút được gắn nhãn CLIP Text Encode (Prompt). Nhập prompt của bạn vào nút trên và negative prompt vào nút dưới.

Nút CLIP Text Encode đầu tiên chuyển đổi prompt thành các token và sau đó mã hóa chúng thành embeddings bằng trình mã hóa văn bản.

Bạn có thể sử dụng cú pháp (keyword) để kiểm soát trọng lượng của từ khóa. Ví dụ: (keyword:1.2) để tăng hiệu ứng của nó. (keyword:0.8) để giảm hiệu ứng của nó.

Tại sao nút trên là prompt? Hãy nhìn vào đầu ra CONDITIONING. Nó được kết nối với đầu vào dương của nút KSampler. Nút dưới được kết nối với đầu vào âm, vì vậy nó dành cho negative prompt.

3.Tạo hình ảnh

Nhấp vào Queue Prompt để chạy quy trình làm việc. Sau một thời gian chờ ngắn, bạn sẽ thấy hình ảnh đầu tiên được tạo ra.

Điều gì vừa xảy ra?
Ưu điểm của việc sử dụng ComfyUI là nó rất dễ cấu hình. Đáng để học cách mỗi node hoạt động để bạn có thể sử dụng chúng phù hợp với nhu cầu của mình.

Bạn có thể bỏ qua phần còn lại của phần này nếu bạn không quan tâm đến lý thuyết.

Load Checkpoint node

. . .

Sử dụng Load Checkpoint node để chọn model. Một model Stable Diffusion có ba phần chính:

  • MODEL: Model dự đoán nhiễu trong không gian tiềm ẩn.
  • CLIP: Model ngôn ngữ xử lý các positive và negative prompts.
  • VAE: Variational AutoEncoder chuyển đổi hình ảnh giữa không gian pixel và không gian tiềm ẩn.

Đầu ra của MODEL kết nối với sampler, nơi quá trình diffusion ngược được thực hiện.

Đầu ra của CLIP kết nối với các prompts vì các prompts cần được xử lý bởi model CLIP trước khi chúng trở nên hữu ích.

Trong quy trình text-to-image, VAE chỉ được sử dụng ở bước cuối cùng: Chuyển đổi hình ảnh từ không gian tiềm ẩn sang không gian pixel. Nói cách khác, chúng ta chỉ sử dụng phần decoder của autoencoder.

CLIP Text Encode

Node CLIP text encode nhận prompt và chuyển nó vào model ngôn ngữ CLIP. CLIP là model ngôn ngữ của OpenAI, chuyển đổi từng từ trong một prompt thành embeddings.

Empty latent image

. . .

Quá trình text-to-image bắt đầu với một hình ảnh ngẫu nhiên trong không gian tiềm ẩn.

Kích thước của hình ảnh tiềm ẩn tỷ lệ với hình ảnh thực tế trong không gian pixel. Vì vậy, nếu bạn muốn thay đổi kích thước của hình ảnh, bạn thay đổi kích thước của hình ảnh tiềm ẩn.

Bạn đặt chiều cao và chiều rộng để thay đổi kích thước hình ảnh trong không gian pixel.

Ở đây, bạn cũng có thể đặt batch size, tức là số lượng hình ảnh bạn tạo ra trong mỗi lần chạy.

KSampler

KSampler là trung tâm của quá trình tạo hình ảnh trong Stable Diffusion. Một sampler loại bỏ nhiễu từ một hình ảnh ngẫu nhiên để tạo ra một hình ảnh phù hợp với prompt của bạn.

KSampler đề cập đến các samplers được triển khai trong kho mã này.

Dưới đây là các tham số trong node KSampler:

  • Seed: Giá trị random seed kiểm soát nhiễu ban đầu của hình ảnh tiềm ẩn và do đó, ảnh hưởng đến bố cục của hình ảnh cuối cùng.
  • Control_after_generation: Cách seed nên thay đổi sau mỗi lần tạo. Nó có thể là giá trị ngẫu nhiên (randomize), tăng lên 1 (increment), giảm xuống 1 (decrement), hoặc không thay đổi (fixed).
  • Step: Số bước sampling. Càng nhiều bước, càng ít artifacts trong quá trình xử lý số học.
  • Sampler_name: Tại đây, bạn có thể đặt thuật toán sampling. Đọc bài viết về sampler để biết thêm.
  • Scheduler: Kiểm soát mức độ nhiễu nên thay đổi như thế nào trong mỗi bước.
  • Denoise: Bao nhiêu phần nhiễu ban đầu nên được loại bỏ bởi quá trình denoising. 1 nghĩa là tất cả.

Image-to-image workflow

Quy trình Img2img là một quy trình thiết yếu khác trong Stable Diffusion. Nó tạo ra một hình ảnh dựa trên prompt VÀ một hình ảnh đầu vào.

Bạn có thể điều chỉnh độ mạnh của denoising để kiểm soát mức độ Stable Diffusion sẽ theo dõi hình ảnh gốc.

Tải xuống quy trình image-to-image.

Kéo và thả hình ảnh quy trình này vào ComfyUI để tải.

Để sử dụng quy trình img2img này:

Chọn mô hình checkpoint.
Chỉnh sửa các prompt tích cực và tiêu cực.
Tùy chọn điều chỉnh denoise (độ mạnh của việc khử nhiễu) trong nút KSampler.
Nhấn Queue Prompt để bắt đầu quá trình tạo ảnh.

ComfyUI Manager
ComfyUI manager là một custom node cho phép bạn cài đặt và cập nhật các custom nodes khác thông qua giao diện ComfyUI.

Cài đặt ComfyUI Manager trên Windows
Trong ứng dụng File Explorer, điều hướng đến thư mục ComfyUI_windows_portable > ComfyUI > custom_nodes.

Trong thanh địa chỉ, nhập “cmd” và nhấn Enter.

Một terminal command prompt sẽ hiện ra.

Nhập lệnh sau và nhấn Enter.

git clone https://github.com/ltdrdata/ComfyUI-Manager

Đợi quá trình hoàn tất.

Khởi động lại ComfyUI. Bạn sẽ thấy nút Manager mới trên bảng điều khiển nổi.

Mẹo: Nếu ComfyUI Manager không hiển thị, hãy đọc thông báo lỗi trong terminal.

Một lỗi phổ biến là GIT (một hệ thống quản lý mã nguồn) không được cài đặt trong hệ thống của bạn. Cài đặt nó sẽ giải quyết vấn đề.

Cài đặt ComfyUI Manager trên Mac
Để cài đặt ComfyUI Manager, hãy truy cập vào thư mục custom nodes thông qua ứng dụng Terminal (Mac):

cd ComfyUI/custom_nodes

Và clone node về bộ nhớ cục bộ.

git clone https://github.com/ltdrdata/ComfyUI-Manager

Khởi động lại ComfyUI hoàn toàn.

Sử dụng ComfyUI Manager
Sau khi cài đặt, bạn sẽ thấy một nút Manager bổ sung trên menu Queue Prompt.

Nhấp vào nút này sẽ hiển thị một GUI cho phép bạn:

  • Cài đặt/gỡ cài đặt custom nodes.
  • Cài đặt các nodes còn thiếu trong quy trình hiện tại.
  • Cài đặt các Models như checkpoint models, AI upscalers, VAEs, LoRA, ControlNet models, v.v.
  • Cập nhật giao diện ComfyUI.
  • Đọc hướng dẫn cộng đồng.

Chức năng Install Missing Nodes đặc biệt hữu ích để tìm các node tùy chỉnh cần thiết trong quy trình hiện tại.

Menu Install Custom Nodes cho phép bạn quản lý các node tùy chỉnh. Bạn có thể gỡ cài đặt hoặc vô hiệu hóa một node đã cài đặt hoặc cài đặt một node mới.

ComfyUI manager

Cách cài đặt các node tùy chỉnh còn thiếu

Có thể bạn chưa cài đặt tất cả các node tùy chỉnh cần thiết trong một quy trình làm việc. Sau khi tải tệp quy trình làm việc, thực hiện các bước sau để cài đặt các node tùy chỉnh còn thiếu:

  1. Nhấp vào Manager trong Menu.
  2. Nhấp vào Install Missing custom Nodes.
  3. Khởi động lại ComfyUI hoàn toàn.

ComfyUI Update All

Cách đơn giản nhất để cập nhật ComfyUI là nhấp vào nút Update All trong ComfyUI manager. Nó sẽ cập nhật chính ComfyUI và tất cả các node tùy chỉnh đã cài đặt. Khởi động lại ComfyUI để hoàn tất quá trình cập nhật.

Làm theo các bước cập nhật sau nếu bạn muốn cập nhật ComfyUI hoặc các node tùy chỉnh một cách độc lập.

Cách cập nhật ComfyUI

Để cập nhật ComfyUI:

  1. Nhấp vào Manager trong Menu.
  2. Nhấp vào Update ComfyUI.
  3. Khởi động lại ComfyUI hoàn toàn.

Cách cập nhật các node tùy chỉnh

Bạn có thể sử dụng ComfyUI manager để cập nhật các node tùy chỉnh.

  1. Nhấp vào Manager trong Menu.
  2. Nhấp vào Fetch Updates. Quá trình này có thể mất một lúc.
  3. Nhấp vào Install Custom nodes.
  4. Nếu có bản cập nhật, một nút Update mới sẽ xuất hiện bên cạnh một node tùy chỉnh đã cài đặt.
  5. Nhấp vào Update để cập nhật node.
  6. Khởi động lại ComfyUI.

Nếu quá trình cập nhật này không hoạt động, bạn sẽ cần sử dụng một terminal như ứng dụng PowerShell (Windows) hoặc ứng dụng Terminal (Mac) để thực hiện lệnh git pull.

  1. Mở terminal.
  2. cd vào thư mục node tùy chỉnh. Dưới đây là một ví dụ về việc vào thư mục controlnet aux.
    cd ComfyUI/custom_nodes/comfyui_controlnet_aux/
  3. Thực hiện lệnh git pull.
    git pull
  4. Khởi động lại ComfyUI.

Tìm kiếm các node tùy chỉnh

Menu Add Node có thể không phải là cách tốt nhất để tìm một node tùy chỉnh. Mọi thứ sẽ càng khó khăn hơn sau khi bạn cài đặt nhiều node tùy chỉnh.

Bạn có thể nhấp đúp vào bất kỳ vùng trống nào để hiển thị menu tìm kiếm các node.

Nâng cấp hình ảnh (Upscaling)

Có một số cách để nâng cấp hình ảnh trong Stable Diffusion. Để giảng dạy, hãy cùng đi qua quá trình nâng cấp hình ảnh với:

  • AI upscaler
  • Hi-res fix
  • Ultimate Upscale

AI upscale

AI upscaler là một mô hình AI để phóng to hình ảnh trong khi điền chi tiết. Chúng không phải là mô hình Stable Diffusion mà là các mạng nơ-ron được huấn luyện để phóng to hình ảnh.

Tải quy trình nâng cấp này bằng cách tải xuống hình ảnh trên trang. Kéo và thả hình ảnh vào ComfyUI.

Mẹo: Kéo và thả một hình ảnh được tạo bằng ComfyUI sẽ tải quy trình tạo ra hình ảnh đó.

Trong ví dụ cơ bản này, bạn thấy rằng chỉ cần thêm vào text-to-image là:

  • Load Upscale Model: Đây là để tải mô hình AI upscaler. (Node này nằm trong Add node > loaders)
  • Upscale image (using Model): Node này hiện nằm giữa VAE decoder và node Save image. Nó lấy hình ảnh và mô hình upscaler, sau đó xuất ra một hình ảnh đã được nâng cấp. (Node này nằm trong Add node > Image > upscaling)

Để sử dụng quy trình nâng cấp này, bạn phải tải xuống một mô hình upscaler từ Upscaler Wiki, và đặt nó trong thư mục models > upscale_models.

Hoặc, thiết lập ComfyUI để sử dụng tệp mô hình của AUTOMATIC1111.

Chọn một upscaler và nhấp vào Queue Prompt để tạo ra một hình ảnh đã được nâng cấp. Hình ảnh sẽ được nâng cấp 4x bởi AI upscaler.

Bài tập: Tạo lại quy trình AI upscaler từ text-to-image

Đây là một bài tập tốt để tạo quy trình tùy chỉnh đầu tiên của bạn bằng cách thêm một upscaler vào quy trình text-to-image mặc định.

  1. Quay lại quy trình text-to-image cơ bản bằng cách nhấp vào Load Default.
  2. Nhấp chuột phải vào một vùng trống gần Save Image. Chọn Add Node > loaders > Load Upscale Model.
  3. Nhấp vào dấu chấm trên dây giữa VAE DecodeSave Image. Nhấp vào Delete để xóa dây.
  4. Nhấp chuột phải vào một vùng trống và chọn Add Node > image > upscaling > Upscale Image (using Model) để thêm node mới.
  5. Kéo và giữ đầu ra UPSCALE_MODEL của Load Upscale Model. Thả nó tại upscale_model của node Upscale Image (using Model).
  6. Kéo và giữ đầu ra IMAGE của VAE Decode. Thả nó tại đầu vào hình ảnh của Upscale Image (using Model).
  7. Kéo và giữ output IMAGE của node Upscale Image (using Model). Thả nó vào input images của node Save Image.
  8. Nhấp vào Queue Prompt để kiểm tra quy trình làm việc.

Bây giờ bạn đã biết cách tạo một quy trình làm việc mới. Kỹ năng này sẽ rất hữu ích để bạn tự tạo ra các quy trình làm việc của riêng mình.

Hi-res fix
Tải xuống hình ảnh đầu tiên trên trang này và thả nó vào ComfyUI để tải Hi-Res Fix workflow.

Đây là một ví dụ phức tạp hơn nhưng cũng cho thấy sức mạnh của ComfyUI. Sau khi nghiên cứu các nodes và edges, bạn sẽ hiểu rõ Hi-Res Fix là gì.

Phần đầu tiên giống hệt với text-to-image: Bạn denoise một latent image sử dụng sampler, được điều kiện hóa với các positive và negative prompts của bạn.

Workflow sau đó upscale hình ảnh trong latent space và thực hiện thêm một vài bước sampling. Nó thêm một ít noise ban đầu vào hình ảnh và denoise nó với một mức độ denoising nhất định.

VAE decoder sau đó sẽ decode latent image lớn hơn để tạo ra một hình ảnh upscale.

SD Ultimate Upscale – ComfyUI edition

SD Ultimate Upscale là một extension upscaling phổ biến cho AUTOMATIC1111 WebUI. Bạn cũng có thể sử dụng nó trên ComfyUI!

Trang Github của SD Ultimate Upscale cho ComfyUI

Đây cũng là một bài tập tốt để cài đặt một custom node.

Cài đặt SD Ultimate Upscale node
Để cài đặt custom node này, truy cập vào thư mục custom nodes trong ứng dụng PowerShell (Windows) hoặc Terminal (Mac):

cd ComfyUI/custom_nodes

Và clone node về bộ nhớ cục bộ.

git clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale --recursive

Khởi động lại ComfyUI hoàn toàn.

Sử dụng SD Ultimate Upscale
Một bài tập tốt là bắt đầu với workflow AI upscaler. Thêm SD Ultimate Upscale và so sánh kết quả.

Tải workflow AI upscaler bằng cách kéo và thả hình ảnh vào ComfyUI hoặc sử dụng nút Load để tải.

Nhấp chuột phải vào một không gian trống. Chọn Add Node > image > upscaling > Ultimate SD Upscale.

Bạn sẽ thấy node mới Ultimate SD Upscale. Kết nối các input của nó như sau:

  • image đến IMAGE của VAE Decode.
  • model đến MODEL của Load Checkpoint.
  • positive đến CONDITIONING của positive prompt box.
  • negative đến CONDITIONING của negative prompt box.
  • vae đến VAE của Load Checkpoint.
  • upscale_model đến UPSCALE_MODEL của Load Upscale Model.

Đối với output:

  • IMAGE đến images của Save Image.

Nếu chúng được kết nối đúng, nhấp vào Queue Prompt sẽ hiển thị hai hình ảnh lớn, một với AI upscaler và một với Ultimate Upscale.

Bạn có thể tải xuống ví dụ workflow này bên dưới. Kéo và thả hình ảnh vào ComfyUI để tải.

Ultimate Upscale workflow

ComfyUI Inpainting
Bạn có thể sử dụng ComfyUI để thực hiện inpainting. Đây là một kỹ thuật cơ bản để tái tạo một phần của hình ảnh.

Phải thừa nhận rằng inpainting không phải là điều dễ dàng nhất để làm với ComfyUI. Nhưng đây là cách…

Bước 1: Mở inpaint workflow
Tải xuống workflow inpainting sau đây. Kéo và thả file JSON vào ComfyUI.

Bước 2: Tải lên một hình ảnh
Chọn một hình ảnh mà bạn muốn inpaint.

Andy Lau is ready for inpainting.

Bạn có thể tải hình ảnh dưới dạng PNG.

Bước 3: Tạo mặt nạ inpaint

Nhấp chuột phải vào hình ảnh. Chọn Open in MaskEditor trong menu ngữ cảnh.

Che phủ khu vực bạn muốn tái tạo.

Nhấp Save to node.

Bước 4: Điều chỉnh tham số

Chọn mô hình Checkpoint. Lưu ý rằng mô hình inpainting không hoạt động với luồng công việc này.

Thay đổi prompt:

a man wearing sunglasses, epic style, super hero, highly detailed

Mức độ denoise ban đầu quá cao. Đặt nó về 0.6.

Bước 5: Tạo inpainting

Cuối cùng, nhấn Queue Prompt để thực hiện inpainting.

Bạn có thể tìm thêm các luồng công việc inpainting trong bài đăng ComfyUI inpainting.

Luồng công việc SDXL

Simple SDXL workflow.

Luồng công việc ComfyUI Stable Diffusion XL.

Tải xuống luồng công việc SDXL cho ComfyUI. Kéo và thả hình ảnh vào ComfyUI để tải.

Bạn sẽ cần thay đổi

Positive PromptNegative Prompt.

Đó là tất cả!

Có một số quy trình SDXL phức tạp hơn trên trang này.

ComfyUI Impact Pack
ComfyUI Impact Pack là một bộ các nút tùy chỉnh miễn phí, giúp mở rộng đáng kể khả năng của ComfyUI.

Có nhiều nút tùy chỉnh trong Impact Pack hơn những gì tôi có thể viết trong bài viết này. Hãy xem các hướng dẫn chính thức để học từng nút một. Đọc qua các hướng dẫn cho người mới bắt đầu nếu bạn muốn sử dụng bộ nút này một cách hiệu quả.

Cài đặt
Để cài đặt ComfyUI Impact Pack, trước tiên hãy mở PowerShell App (Windows) hoặc Terminal App (Mac hoặc Linux).

cd custom_nodes

Clone Impact Pack vào bộ nhớ cục bộ của bạn.

git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git

Clone Workflow Component cần thiết cho Impact Pack.

git clone https://github.com/ltdrdata/ComfyUI-Workflow-Component

Khởi động lại ComfyUI hoàn toàn.

Khởi động lại ComfyUI hoàn toàn.

Tái tạo khuôn mặt với Face Detailer (SDXL)
ADetailer là một tiện ích mở rộng của AUTOMATMIC1111 tự động sửa khuôn mặt bằng cách sử dụng inpainting. Tương tự trong ComfyUI là Face Detailer (còn gọi là DDetailer). Nó được bao gồm trong Impact Pack.

Bạn có thể sử dụng quy trình này trong Impact Pack để tái tạo khuôn mặt bằng nút tùy chỉnh Face Detailer và các mô hình SDXL base và refiner. Tải về và thả tệp JSON vào ComfyUI.

Tải về
Để sử dụng quy trình này, bạn sẽ cần thiết lập:

  • Hình ảnh ban đầu trong nút Load Image.
  • Một mô hình SDXL base trong nút Load Checkpoint phía trên.
  • Một mô hình SDXL refiner trong nút Load Checkpoint phía dưới.
  • Prompt và negative prompt cho hình ảnh mới.
  • Nhấp Queue Prompt để bắt đầu quy trình.

Gương mặt của Andy Lau không cần sửa chữa (Có cần không nhỉ?). Vì vậy, tôi đã sử dụng một prompt để biến anh ấy thành một ngôi sao K-pop.

a closeup photograph of a korean k-pop star man

Chỉ có gương mặt thay đổi, trong khi nền và mọi thứ khác vẫn giữ nguyên.

Tái tạo khuôn mặt với Face Detailer (SD v1.5)
Dưới đây là một ví dụ về quy trình text-to-image sử dụng Face Detailer để tự động sửa khuôn mặt. Đây là một quy trình v1.5.

Embeddings
Để sử dụng embeddings (còn gọi là textual inversion) trong ComfyUI, hãy gõ embedding: vào ô prompt tích cực hoặc tiêu cực. Ví dụ:

embedding: BadDream

ComfyUI sẽ tìm kiếm các embeddings trong thư mục ComfyUI > models > embeddings với tên tệp tương ứng.

Embedding với tự động hoàn tất
Nhưng việc tìm kiếm tên tệp rất mất thời gian. Thay vào đó, bạn có thể bật tính năng tự động hoàn tất tên embedding bằng cách cài đặt nút tùy chỉnh ComfyUI-Custom-Scripts.

Bạn có thể cài đặt nó qua trình quản lý ComfyUI. Nhấp vào Manager > Install Custom nodes. Tìm kiếm “ComfyUI-Custom-Scripts” và cài đặt nó. Khởi động lại ComfyUI.

Sau khi gõ embedding: trong một prompt, danh sách các embeddings có sẵn sẽ xuất hiện. Chọn cái bạn muốn sử dụng.

Trọng số embedding
Vì embeddings chỉ là các từ khóa, bạn có thể áp dụng trọng số từ khóa cho embedding tương tự như vậy.

(embedding: BadDream:1.2)

Điều này tăng trọng số embedding lên 20%.

LoRA

LoRA là một tệp mô hình nhỏ thay đổi mô hình checkpoint. Nó thường được sử dụng để thay đổi phong cách hoặc đưa một người vào mô hình.

Thực tế, việc thay đổi LoRA trong ComfyUI là rất rõ ràng:

Mô hình LoRA thay đổi MODEL và CLIP của mô hình checkpoint nhưng để lại VAE không thay đổi.

Quy trình LoRA đơn giản

Đây là quy trình LoRA đơn giản nhất có thể: Text-to-image với một LoRA và mô hình checkpoint.

Tải xuống quy trình LoRA đơn giản

Để sử dụng quy trình:

  • Chọn một mô hình checkpoint.
  • Chọn một LoRA.
  • Sửa đổi prompt và negative prompt.
  • Nhấp vào “Queue Prompt”.

Nhiều LoRA

Bạn có thể sử dụng hai LoRA trong cùng một quy trình text-to-image.

Tải xuống quy trình hai LoRA

Cách sử dụng tương tự như một LoRA, nhưng giờ bạn phải chọn hai cái.

Hai LoRA được áp dụng lần lượt.

Nối hai chuỗi

Để nối hai chuỗi, bạn sẽ sử dụng một node gọi là “String Function” từ node tùy chỉnh “ComfyUI-Custom-Scripts”.

Bạn nên đã cài đặt node tùy chỉnh này để kích hoạt tự động hoàn thành của textual inversion. Cài đặt nó trong ComfyUI Manager nếu chưa.

Nhấp đúp vào không gian trống. Tìm kiếm và thêm node “StringFunction”.

Chuyển đổi hộp văn bản đầu tiên (text_a) thành đầu vào bằng cách nhấp chuột phải vào node và chọn “Convert text_a to input”. Node bây giờ sẽ trông như thế này:

Thêm một node primitive và kết nối nó với đầu vào “text_a”. Bây giờ, bạn có thể viết các prompt trong hai hộp văn bản khác nhau. Chúng sẽ được nối lại với nhau.

Để sử dụng nó, bạn sẽ cần chuyển đổi hộp văn bản của “CLIP Text Encode (Prompt)” thành một đầu vào.

Cuối cùng, kết nối các node “String Function” và “CLIP Text Encode (Prompt)”.


Phím tắt và mẹo cho ComfyUI

Sao chép và dán
Chọn một node và nhấn Ctrl+C để sao chép.
Ctrl+V để dán.
Ctrl+Shift+V để dán với các kết nối đầu vào giữ nguyên.

Di chuyển nhiều node
Tạo một nhóm để di chuyển một tập hợp các node cùng nhau.
Hoặc, giữ Ctrl và kéo để tạo một hộp chọn nhiều node. Bạn cũng có thể giữ Ctrl để chọn nhiều node.
Để di chuyển chúng, giữ Shift và di chuyển chuột.

Tắt âm một node
Bạn có thể tạm thời vô hiệu hóa một node bằng cách tắt âm nó. Chọn một node và nhấn Ctrl+M để tắt âm một node.
Không có phím tắt để tắt âm một nhóm. Bạn có thể chọn Bypass Group Node trong menu chuột phải để bỏ qua nhóm đó. Hoặc tắt âm node đầu tiên trong nhóm để vô hiệu hóa nó.

Thu nhỏ một node
Nhấp vào dấu chấm ở góc trên bên trái của node để thu nhỏ nó.

Tạo hình ảnh
Nhấn Ctrl+Enter để đưa quy trình vào hàng đợi và tạo hình ảnh.

Quy trình nhúng

ComfyUI lưu toàn bộ quy trình trong metadata của tệp PNG mà nó lưu. Để tải quy trình, kéo và thả hình ảnh vào ComfyUI.

Cố định hạt giống để tiết kiệm thời gian

ComfyUI chỉ chạy lại một node nếu đầu vào thay đổi. Nếu bạn đang làm việc trên một chuỗi node dài, bạn có thể tiết kiệm thời gian từ việc tái tạo các kết quả phía trên bằng cách cố định hạt giống.

Bài tập: Tạo một quy trình để so sánh với và không có LoRA

Để giỏi trong việc sử dụng ComfyUI, bạn thực sự cần phải tạo ra các quy trình của riêng mình.

Một bài tập tốt là tạo một quy trình để so sánh text-to-image với và không có LoRA trong khi giữ mọi thứ khác như nhau.

Để đạt được điều này, bạn cần biết cách chia sẻ các tham số giữa hai node.

Chia sẻ các tham số giữa hai node

Hãy sử dụng cùng một giá trị hạt giống trong hai K-Samplers.

Chúng có các giá trị hạt giống riêng. Để sử dụng cùng một giá trị hạt giống giữa hai cái này, nhấp chuột phải vào node và chọn convert seed to input.

Bạn sẽ nhận được một node đầu vào mới gọi là seed.

Nhấp chuột phải vào một khoảng trống. Chọn Add node > utils > Primitive. Kết nối node primitive với hai đầu vào seed.

Bây giờ, bạn có một giá trị hạt giống duy nhất chia sẻ giữa hai samplers.

Quy trình để so sánh hình ảnh với và không có LoRA

Sử dụng kỹ thuật này, bạn có thể chỉnh sửa ví dụ LoRA đơn giản để tạo một quy trình so sánh hiệu ứng của LoRA trong khi giữ mọi thứ khác như nhau.

So sánh hiệu ứng của Epilson offset LoRA. Trên: với LoRA. Dưới: không có LoRA.

nguồn: https://stable-diffusion-art.com/comfyui/


Tags


Có thể bạn sẽ quan tâm

>