当前位置:AIGC资讯 > AIGC > 正文

【AIGC】ComfyUI入门-安装ComfyUI

栏目:
栏目目录里面会收录我关于AIGC相关的笔记博文,大家如果有什么不懂的可以通过阅读我的笔记进行学习。
【AIGC目录】

最近自己在抽时间研究ComfyUI相关的内容,抽时间整理一下自己了解到的内容,希望可以帮到其他想要学习的小伙伴。

安装ComfyUI

安装ComfyUI之前需要准备如下内容:

Git Conda创建的Python3.10虚拟环境(推荐)或者已经安装Python3.10;

在Mac上安装ComfyUI

在Mac M系列电脑上安装ComfyUI是比较简单的。

1.clone 代码到本地

在自己的代码目录执行如下命令:

git clone https://github.com/comfyanonymous/ComfyUI.git
2.安装依赖

使用项目中配置的依赖列表进行安装:

pip install -r requirements.txt

注: 这里不管是conda还是直接使用电脑python环境,都使用上面命令。因为conda支持requirements.txt文件构建环境,需要转换为.yml文件。这个如果有需要的可以自行搜索解决。

3.启动ComfyUI

在环境中执行如下命令:

python main.py

在Windows上安装ComfyUI

在Windows电脑上安装ComfyUI是比较繁琐的。
首先我们需要确定自己的电脑是有独立显卡还是无独立显卡。

无独立显卡安装

无独立显卡也就意味着你只能通过CPU运行ComfyUI,安装步骤和Mac上安装的步骤一致,不过最后需要处理一步:
在clone下来的代码中修改ComfyUI/comfy/model_management.py文件中第25行:

# Determine VRAM State
vram_state = VRAMState.NORMAL_VRAM
set_vram_to = VRAMState.NORMAL_VRAM
cpu_state = CPUState.GPU

把这里的cpu_state = CPUState.GPU改为cpu_state = CPUState.CPU
这样在启动的时候,会通过CPU运行ComfyUI。

有独立显卡安装

目前我仅有NVIDIA的显卡,所以其他显卡需要各位小伙伴去尝试;
我的显卡:NVIDIA GeForce GTX 1070
驱动版本:560.70

1.确定当前显卡支持的CUDA版本

我们可以通过如下命令查看我们显卡支持的最高CUDA的版本:

nvidia-smi

控制台会打印出如下内容:

我们在途中可以看到 CUDA Version:12.6,这说明我们当前显卡驱动可以支持的最高CUDA版本是12.6。

2.安装CUDA

如果你的电脑已经安装CUDA可以忽略。
执行如下命令确定电脑是否安装

nvcc -V

已经安装CUDA会打印下图内容:

这里我们需要在PyTorch官网去查看目前PyTorch支持的稳定版CUDA版本。

我们可以看到CUDA稳定版支持到12.1。需要在NAVIDA官网下载CUDA安装包

CUDA下载完成之后打开.exe文件开始安装。程序会让我们先选择目录,这个目录是应用程序解压安装内容的目录。
注: 我们可以不改变目录但是记住目录的地址,谨防安装之后没有自动删除,我们去手动删除。
之后一直下一步直到安装成功。网上有的文章推荐使用自定义,但是如果去看NVIDIA官网发布说明的更新动态会发现,有的版本不会向下兼容,比如12.x和11.x不兼容10.x的内容,在向上版本升级的时候,如果有些内容没有覆盖,会让你在使用GPU训练的时候出问题。可以自行阅读NVIDIA的官网发布说明。
到此显卡相关内容已经安装完成。

3.安装依赖

在环境中我们需要安装CUDA相关的依赖,PyTorch官网已经给我们提供了安装命令。

conda虚拟环境

使用conda虚拟环境,通过如下方式获取命令并执行:

conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
python环境

直接使用python环境,通过如下方式获取命令并执行:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

注: 网上说要单独安装CUDNN的依赖,其实PyTorch的依赖安装的时候会自动安装依赖的CUDNN。
安装完成之后,安装项目中的依赖:

pip install -r requirements.txt

这一步和Mac中执行的命令一样,不再赘述。

4.启动ComfyUI

在环境中执行如下命令:

python main.py

OK,安装ComfyUI到此为止。

QA

1.我在安装完PyTorch的CUDA依赖之后如何知道已经安装成功?

执行如下代码:

python -c 'import torch; print(torch.version.cuda); print(torch.cuda.is_available());'

命令行或控制台会打印出如下内容:

2.在Windows上安装ComfyUI,启动之后报如下错误:
Traceback (most recent call last):
  File "F:\python\comfyui\ComfyUI\main.py", line 94, in <module>
    import execution
  File "F:\python\comfyui\ComfyUI\execution.py", line 11, in <module>
    import nodes
  File "F:\python\comfyui\ComfyUI\nodes.py", line 21, in <module>
    import comfy.diffusers_load
  File "F:\python\comfyui\ComfyUI\comfy\diffusers_load.py", line 3, in <module>
    import comfy.sd
  File "F:\python\comfyui\ComfyUI\comfy\sd.py", line 5, in <module>
    from comfy import model_management
  File "F:\python\comfyui\ComfyUI\comfy\model_management.py", line 119, in <module>
    total_vram = get_total_memory(get_torch_device()) / (1024 * 1024)
  File "F:\python\comfyui\ComfyUI\comfy\model_management.py", line 88, in get_torch_device
    return torch.device(torch.cuda.current_device())
  File "F:\python\conda\envs\comfyui\lib\site-packages\torch\cuda\__init__.py", line 778, in current_device
    _lazy_init()
  File "F:\python\conda\envs\comfyui\lib\site-packages\torch\cuda\__init__.py", line 293, in _lazy_init
    torch._C._cuda_init()
RuntimeError: config[i] == get()->name() INTERNAL ASSERT FAILED at "C:\\cb\\pytorch_1000000000000\\work\\c10\\cuda\\CUDAAllocatorConfig.cpp":229, please report a bug to PyTorch. Allocator backend parsed at runtime != allocator backend parsed at load time

在PyTorch的Issues中作者给出了答案。

我们需要在ComfyUI/main.py中加一些代码:

import comfy.options
comfy.options.enable_args_parsing()

import os
import importlib.util
import folder_paths
import time
from comfy.cli_args import args

改为如下代码:

import comfy.options
comfy.options.enable_args_parsing()

import os
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "backend:cudaMallocAsync"

import torch

x = torch.randn(1).cuda()
print(x)

import importlib.util
import folder_paths
import time
from comfy.cli_args import args

总结

### 文章总结
这篇文章详细介绍了如何在不同操作系统(Mac和Windows)上安装并启动ComfyUI,一个可能用于AIGC(人工智能生成内容)相关的工具或框架。主要内容包括准备工作、安装方式、常见问题及解决方案。
#### 栏目说明
- **栏目名称**:未明确,但提到AIGC相关的笔记博文将被收录在目录中。
- **目的**:帮助读者通过阅读笔记学习AIGC相关知识,特别是关于ComfyUI的安装与使用。
#### 安装前准备
- **通用要求**:Git和Python3.10(建议使用Conda创建的虚拟环境)。
#### 安装步骤 - Mac
1. **Clone代码到本地**:使用Git从GitHub克隆ComfyUI仓库。
2. **安装依赖**:通过`pip install -r requirements.txt`命令安装项目所需的所有Python库。
3. **启动ComfyUI**:在虚拟环境或系统环境中执行`python main.py`。
#### 安装步骤 - Windows
Windows安装分为无独立显卡和有独立显卡两种情况:
- **无独立显卡**
1. 按照Mac上的步骤执行:克隆代码、安装依赖。
2. 修改`ComfyUI/comfy/model_management.py`中的代码,确保通过CPU运行程序。
- **有独立显卡(NVIDIA)**
1. **确定CUDA版本**:使用`nvidia-smi`查看支持的CUDA版本。
2. **安装CUDA**:根据PyTorch支持的稳定版CUDA版本,从NVIDIA官网下载并安装CUDA。
3. **安装PyTorch及CUDA依赖**:
- 若使用conda,执行`conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia`。
- 若直接使用Python环境,使用特定URL安装,命令为`pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121`。
- 安装项目依赖`pip install -r requirements.txt`。
4. **启动ComfyUI**:执行`python main.py`。
#### 常见问题及解决方案
- **如何检查PyTorch和CUDA安装成功**?
- 执行`python -c 'import torch; print(torch.version.cuda); print(torch.cuda.is_available());'`检查。

- **Windows启动报错**:
- 报错内容指向PyTorch CUDA分配问题,解决方法是在`ComfyUI/main.py`中添加环境变量`os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "backend:cudaMallocAsync"`,并检查CUDA使用情况。
#### 总结
本文详尽地介绍了在不同系统下安装ComfyUI的步骤,并提供了可能遇到问题的解决方案,特别适合希望学习ComfyUI和相关技术应用的读者参考。

更新时间 2024-08-13