先是使用QWEN3提取提示词,以达到优化Qwen2ImageDiffsynthControlnet图生图的目的,但是我电脑只有4G显存跑不起来,尝试过换模型,但是牵涉别的改动,太多,于是想到了两种替换方法:1、用JoyCaption插件获取提示词,2、用可以加载轻量级模型的插件加载下载的轻量级模型
方法一:
用JoyCaption还是会因为显存太低报错,但是可以通过修改代码,让CPU分担一部分工作,牺牲的就是运行时间,会很久很久,大概要十多个小时。
修改文件\custom_nodes\ComfyUI_LayerStyle_Advance\py\joycaption_beta_1.py
主要是__init__函数

 

class JoyCaptionPredictor:
    def __init__(self, model: str, quantization_mode: str, device:str):
        checkpoint_path = download_hg_model(model, "LLavacheckpoints")
        self.device = device
        self.processor = AutoProcessor.from_pretrained(checkpoint_path)

        if quantization_mode == "bf16":
            self.model = LlavaForConditionalGeneration.from_pretrained(
                checkpoint_path,
                torch_dtype="bfloat16",
                device_map="auto",
            )
        else:
            from transformers import BitsAndBytesConfig
            qnt_config = BitsAndBytesConfig(
                **QUANTIZATION_CONFIGS[quantization_mode],
                llm_int8_enable_fp32_cpu_offload=True,   # 关键参数
                llm_int8_skip_modules=["vision_tower", "multi_modal_projector"],
            )
            self.model = LlavaForConditionalGeneration.from_pretrained(
                checkpoint_path,
                torch_dtype="auto",
                device_map="auto",
                quantization_config=qnt_config,
                max_memory={0: "1.5GiB", "cpu": "12GiB"}   # 限制 GPU 使用 2GB
            )
        self.model.eval()

模块开始清空GPU缓存,
 

def load_joycaptionB1_model(self, model, quantization_mode, device):
    torch.cuda.empty_cache()      #加这一句,清空缓存
    log(f"{self.NODE_NAME}: Loaded model {model} with {quantization_mode}")
    return (JoyCaptionPredictor(model, quantization_mode, device),)

试了,可以运行,很慢

方法二、安装FL VLM插件+Qwen3-VL-2B-Instruct-GPTQ-Int4轻量级模型
这个我试了,整个流程是可以泡桐额

另外:还可以安装这个插件,使用
这个节点,以下是这三个几点的区别

因为QWEN2不能支持qwen3的模型,而且我的FL VLM也能跑的动就没有再去研究QWEN2这个插件了。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐