Tesla P40显卡使用 nunchaku 部署 Fluex.1-dev笔记

Tesla P40显卡使用 nunchaku 部署 Fluex.1-dev笔记

一、安装 nunchaku

注意一点,直接 pip install nunchaku 是不行的,安装完以后直接找不到 NunchakuFluxTransformer2dModel 这个类~

需要去 git 官方下载合适的python版本对应的 nunchaku 版本~
https://github.com/nunchaku-tech/nunchaku/releases/tag/v1.0.2

下载完成后使用 pip install nunchaku-1.0.2+torch2.7-cp310-cp310-linux_x86_64.whl 即可安装成功~

上述问题解决~

二、安装 triton

不出意外,安装完成以后,运行会报错:

shell 复制代码
Traceback (most recent call last):
  File "F:\My Projects\AI\flux1-test\test_flux_dev_nunchaku.py", line 4, in <module>
    from nunchaku import NunchakuFluxTransformer2dModel
  File "F:\My Projects\AI\flux1-test\.venv\lib\site-packages\nunchaku\__init__.py", line 1, in <module>
    from .models import (
  File "F:\My Projects\AI\flux1-test\.venv\lib\site-packages\nunchaku\models\__init__.py", line 1, in <module>
    from .text_encoders.t5_encoder import NunchakuT5EncoderModel
  File "F:\My Projects\AI\flux1-test\.venv\lib\site-packages\nunchaku\models\text_encoders\t5_encoder.py", line 18, in <module>
    from .linear import W4Linear
  File "F:\My Projects\AI\flux1-test\.venv\lib\site-packages\nunchaku\models\text_encoders\linear.py", line 10, in <module>
    from ..._C.ops import gemm_awq, gemv_awq
ImportError: DLL load failed while importing _C: 找不到指定的模块。

这是因为需要安装 triton 这个包,但是这个包目前只有linux的版本~

有大神已经编译过windows的版本,可以直接去以下地址下载:
https://hf-mirror.com/madbuda/triton-windows-builds

或者 自己编译,整体参考 以下博客:
添加链接描述

然后 pip install nunchaku-1.0.2+torch2.7-cp310-cp310-win_amd64.whl 即可安装成功~

em~ 好吧,cuda版本要求 > 12.0~ 那我安装 cu121总行吧

重新安装驱动:
https://developer.nvidia.com/cuda-12-1-0-download-archive
重新安装 torch相关, cu121没有对应的torch 2.7.1的版本,那我安装 torch 2.5 总行吧~

对应版本 torch==2.5.1+cu121torchaudio==2.5.1+cu121torchvision==0.2.0+cu121
https://download.pytorch.org/whl/cu121/torchvision/

造孽啊~ 官方好像并没有 nunchaku -torch2.5.1的版本

好好好,这么玩儿是吧,这次我先把版本确认清楚了 ~ 都有是吧 ~

  • cuda:12.6
  • torch: 2.7.1+cu126
  • nunchaku: 1.02+torch2.7+cp310

Oaky, 再来一次~

好的一切准备就绪~

驱动正常: 560.76

cuda版本正常: 12.6

torch安装正常: torch==2.7.1+cu126

nunchaku安装正常: 1.0.2+torch2.7.1

最后附上一件安装用 requirements.txt

./whls/torch-2.7.1+cu126-cp310-cp310-win_amd64.whl

./whls/torchvision-0.22.1+cu126-cp310-cp310-win_amd64.whl

./whls/torchaudio-2.7.1+cu126-cp310-cp310-win_amd64.whl

./whls/nunchaku-1.0.2+torch2.7-cp310-cp310-win_amd64.whl

transformers

accelerate

sentencepiece

protobuf

三、下载模型

需要下载两个模型 black-forest-labs/FLUX.1-devnunchaku-tech/nunchaku-flux.1-dev模型,我们还是使用 modelscope 下载。

modelscope download --model nunchaku-tech/nunchaku-flux.1-dev --local_dir nunchaku-tech/nunchaku-flux.1-dev

modelscope download --model black-forest-labs/FLUX.1-dev --local_dir black-forest-labs/FLUX.1-dev

四、运行测试代码

python 复制代码
import torch
from diffusers import FluxPipeline

from nunchaku import NunchakuFluxTransformer2dModel
from nunchaku.utils import get_precision

precision = get_precision()  # auto-detect your precision is 'int4' or 'fp4' based on your GPU
transformer = NunchakuFluxTransformer2dModel.from_pretrained(
    f"nunchaku-tech/nunchaku-flux.1-dev/svdq-{precision}_r32-flux.1-dev.safetensors"
)
pipeline = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev", transformer=transformer, torch_dtype=torch.bfloat16
).to("cuda")
image = pipeline("A cat holding a sign that says hello world", num_inference_steps=50, guidance_scale=3.5).images[0]
image.save(f"flux.1-dev-{precision}.png")

好的,最终以失败告终~

大概意思是: 不支持老架构GPU~ 据说包括 v100 在内~

没错,如果你跟着操作了,你只会跟我踩相同的坑,放弃吧,年轻人~

其实我早就从作者儿那儿拿到了结果,只是不信邪,这该死的胜负欲~

不说了,再说要哭了,愿看到的小伙伴不迷路~

相关推荐
ling___xi44 分钟前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
中屹指纹浏览器2 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed2 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏3 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu3 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
深蓝海拓4 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器4 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
BugShare6 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
深蓝海拓6 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
跃渊Yuey7 小时前
【Linux】线程同步与互斥
linux·笔记