Skip to content

Latest commit

 

History

History
182 lines (117 loc) · 11.1 KB

README_ZH.md

File metadata and controls

182 lines (117 loc) · 11.1 KB

该储存库为Nunchaku提供了ComfyUI节点,这是一个用于使用SVDQuant量化的 4 位神经网络的高效推理引擎。有关量化库,请查看 DeepCompressor.

加入我们,在Slack, Discord微信 上的社区群组进行讨论———详情点击这里. 如果您有任何问题、遇到问题或有兴趣做出贡献,请随时与我们分享您的想法!

Nunchaku ComfyUI节点

comfyui

最新消息

安装方法

我们提供了在 Windows 上安装和使用 Nunchaku 的教学视频,支持英文中文两个版本。同时,你也可以参考对应的图文教程 docs/setup_windows.md。如果在安装过程中遇到问题,建议优先查阅这些资源。

前置工作

请先参阅README.md来安装 nunchaku

Comfy-CLI:ComfyUI的命令工具

您可以使用comfy-cli在ComfyUI中运行Nunchaku:

pip install comfy-cli  # Install ComfyUI CLI  
comfy install          # Install ComfyUI  
comfy node registry-install ComfyUI-nunchaku  # Install Nunchaku  

ComfyUI-Manager

  1. 首先使用以下指令安装ComfyUI

    git clone https://github.com/comfyanonymous/ComfyUI.git
    cd ComfyUI
    pip install -r requirements.txt
  2. 使用以下命令安装ComfyUI-Manager(这是一个节点管理插件)

    cd custom_nodes
    git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager
  3. 启动ComfyUI

    cd ..  # Return to the ComfyUI root directory  
    python main.py
  4. 打开Manager后, 在Custom Nodes Manager中搜索ComfyUI-nunchaku节点并且下载它then install it.

手动安装

  1. 使用以下命令设置ComfyUI

    git clone https://github.com/comfyanonymous/ComfyUI.git
    cd ComfyUI
    pip install -r requirements.txt
  2. 将此仓库克隆到 ComfyUI 中的目录中:custom_nodes

    cd custom_nodes
    git clone https://github.com/mit-han-lab/ComfyUI-nunchaku nunchaku_nodes

使用说明

  1. 设置ComfyUI和Nunchaku:

    • Nunchaku的工作流可以在workflows找到。想要找到它们,请将文件复制到ComfyUI的根目录中: user/default/workflows

      cd ComfyUI
      
      # Create the workflows directory if it doesn't exist
      mkdir -p user/default/workflows
      
      # Copy workflow configurations
      cp custom_nodes/nunchaku_nodes/workflows/* user/default/workflows/
    • 按照本教程.安装所有缺失节点 (例如 comfyui-inpainteasy)

  2. 下载必要模型: 按照本教程把必要的模型下载到对应的目录中。或者使用以下命令:

    huggingface-cli download comfyanonymous/flux_text_encoders clip_l.safetensors --local-dir models/text_encoders
    huggingface-cli download comfyanonymous/flux_text_encoders t5xxl_fp16.safetensors --local-dir models/text_encoders
    huggingface-cli download black-forest-labs/FLUX.1-schnell ae.safetensors --local-dir models/vae
  3. 运行ComfyUI: 要启动 ComfyUI,请导航到其根目录并运行:python main.py。如果您使用的是 comfy-cli, 请运行 comfy launch.

  4. 选择Nunchaku工作流:选择一个Nunchaku工作流开始使用(文件名以nunchaku-为开头的工作流)。在使用flux.1-fill的工作流时, 可以使用ComfyUI内置的MaskEditor工具来涂抹遮罩。

5.所有四位模型都可以在HuggingFace或者ModelScope中找到。除了svdq-flux.1-t5,请将整个模型文件夹下载并放入到models/diffusion_models文件夹中。

Nunchaku节点

注:我们已将“SVDQuant XXX Loader”节点重命名为“Nunchaku XXX Loader”,请更新工作流。

  • Nunchaku Flux DiT Loader节点:用于加载Flux扩散模型的节点

    • model_path:指定模型的位置。您需要从我们的Hugging Face或者ModelScope中手动下载模型文件夹。例如:运行

      huggingface-cli download mit-han-lab/svdq-int4-flux.1-dev --local-dir models/diffusion_models/svdq-int4-flux.1-dev

      下载完成后, 把model_path设置为对应的文件夹名称。

      注:如果重命名模型文件夹,确保文件夹中包含comfy_config.json.您可以在Hugging Face或者ModelScope上的相应存储库中找到此文件。

    • cache_threshold:控制First-Block Cache的容差,类似于WaveSpeed中的residual_diff_threshold。增加此值可以提高速度,但可能会降低质量。典型值为 0.12。将其设置为 0 将禁用该效果。

    • attention:定义 attention 的实现方法. 您可以在flash-attention2nunchaku-fp16之间进行选择。我们的nunchaku-fp16在不影响精度的情况下大约比flash-attention2快1.2x倍。对于Turing架构的显卡(20系), 如果不支持flash-attention2,则必须使用 nunchaku-fp16

    • cpu_offload:为transformer模型启用CPU卸载。虽然这减少了GPU内存的使用,但它可能会减慢推理速度。

      -当设置为auto的时候,它将自动检测您的可用 GPU 内存。如果您的GPU内存超过14GiB,则将禁用卸载。否则,它将启用。

      • 以后将在节点中进一步优化内存使用。
    • device_id:模型运行时使用的GPU ID。

    • data_type:定义去量子化张量的数据类型。Turing架构的GPU(20系)不支持bfloat16,只能只用float16.

    • i2f_mode:对于Turing架构的GPU(20系),此选项控制GEMM的实现模式。enabledalways模式的差异细微。在其他架构的GPU上可以忽略这个选项。

  • Nunchaku FLUX LoRA Loader:用于加载SVDQuant FLUX模型的LoRA模型的节点

    • 将LoRA Checkpints文件放在models/loras目录中。这些LoRA模型将在lora_name下显示为可选选项。
    • lora_strength:控制LoRA模型的强度。
    • 您可以将多个multiple LoRA nodes模型连接使用
    • :从0.2.0版本开始,不需要转换LoRA了。可以在加载器中加载原始的LoRA文件
  • Nunchaku Text Encoder Loader:用于加载文本编码器的节点。

    • 对于FLUX,请使用以下文件:

      • text_encoder1: t5xxl_fp16.safetensors(或 T5 编码器的 FP8/GGUF 版本)。
      • text_encoder2: clip_l.safetensors
    • t5_min_length:设置 T5 文本嵌入的最小序列长度。在DualCLIPLoader中的默认硬编码为256,但为了获得更好的图像质量,请在此处使用 512。

    • use_4bit_t5:指定您是否需要使用我们的量化4位T5来节省GPU内存

    • int4_model:指定INT4 T5的位置。这个选项仅在use_4bit_t5启用时使用。您可以从HuggingFaceModelScope下载模型到models/text_encoders文件夹。例如,您可以使用以下命令:

      huggingface-cli download mit-han-lab/svdq-flux.1-t5 --local-dir models/text_encoders/svdq-flux.1-t5

      After downloading, specify the corresponding folder name as the int4_model.

    注意:目前,加载4-bit T5 model会消耗过多内存. 我们将在以后对其进行优化

  • FLUX.1 Depth Preprocessor (已弃用):一个用于加载depth模型并生成相应深度图的旧节点。model_path参数指定checkpoint模型的位置。您可以从Hugging Face 下载模型并放在models/checkpoints目录中。或者,使用以下CLI命令:

    huggingface-cli download LiheYoung/depth-anything-large-hf --local-dir models/checkpoints/depth-anything-large-hf

    注意:此节点已弃用,并将在未来发行版中删除。请改用更新后的**"Depth Anything"**节点来替代加载depth_anything_vitl14.pth