ComfyUI正确安装Xformes的方法

问题描述

在使用PuLID插件进行换脸操作时,会有以下的报错:

NotImplementedError: No operator found for memory_efficient_attention_forward with inputs:
     query       : shape=(1, 577, 16, 64) (torch.bfloat16)
     key         : shape=(1, 577, 16, 64) (torch.bfloat16)
     value       : shape=(1, 577, 16, 64) (torch.bfloat16)
     attn_bias   : <class 'NoneType'>
     p           : 0.0
fa3F@0.0.0 is not supported because:
    xFormers wasn't build with CUDA support
    operator wasn't built - see python -m xformers.info for more info
fa2F@0.0.0 is not supported because:
    xFormers wasn't build with CUDA support
    operator wasn't built - see python -m xformers.info for more info
cutlassF-pt is not supported because:
    xFormers wasn't build with CUDA support

Prompt executed in 58.81 seconds

问题解析

项目是否正常
xformers 安装✅ 成功安装了基本包
是否编译 CUDA 扩展(fa3F)❌ 没有(导致报错)
是否能在 GPU 上跑 Flux 等插件❌ 无法运行,直接报错

问题原因就是当前的Xformes并没有编译CUDA相关的扩展,导致人像替换的时候出错。

正确安装方法

1.查看你当前Comfyui环境中的pytorch版本,并找到相匹配的xformers轮子,例如我的python版本是2.7.0,那么我就要去下面的链接查看哪个版本的Xformes支持这个版本的python:

https://github.com/facebookresearch/xformers/releases

通过以下信息得知,我当前的PyTorch需要安装的是Xformes0.0.30版本

`v0.0.30` – build for PyTorch 2.7.0

Pre-built binary wheels are available for PyTorch 2.7.0. Following PyTorch, we build wheels for CUDA 11.8, 12.6, and 12.8 only (we no longer build for CUDA 12.4).
xFormers now requires PyTorch >= 2.7

2.通过下面的链接下载Xformes轮子:

download.pytorch.org/whl/xformers/

我需要下载的轮子是xformers-0.0.30-cp312-cp312-win_amd64.whl,其中cp312代表的是你Comfyui里的python版本。

然后通过以下代码安装这个轮子:(修改轮子路径为你自己的下载路径。环境的路径为你自己的Comfyui的环境路径)

python.exe -m pip install H:\Software\Xformers\xformers-0.0.30-cp312-cp312-win_amd64.whl

3.安装相匹配的torchvision,下载链接:

https://download.pytorch.org/whl/cu128/torchvision/

要选择相匹配的cuda版本。因为我的cuda版本是12.8,所以我下载的是:torchvision-0.22.1+cu128-cp312-cp312-win_amd64.whl

安装代码:(修改轮子路径为你自己的下载路径。环境的路径为你自己的Comfyui的环境路径)

python.exe -m pip install --no-deps H:\Software\Xformers\torchvision-0.22.1+cu128-cp312-cp312-win_amd64.whl

其他注意事项

1.如果你是cuda12.5,建议升级为cuda12.8,先去控制面板卸载所有带有cuda的程序,然后下载12..8版本进行下载:

CUDA Toolkit 12.8 Downloads | NVIDIA Developer

2.如果你的PyTorch是2.7.1版本,找不到相关的轮子,可以卸载当前的PyTorch:

python.exe -m pip uninstall torch torchvision torchaudio -y

然后到下面的链接下载2.7.0的PyTorch 轮子进行安装之后再执行上面的步骤

https://download.pytorch.org/whl/torch/

版本选择参考:torch-2.7.0+cu128-cp312-cp312-win_amd64.whl

Image
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容