使用QWEN3 VQA进行图生图过程中提示词获取,因为显存太低暴显存,无法运行这个节点。于是考虑替换方案JoyCaption但是还是显存过低
·
先是使用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这个插件了。
更多推荐



所有评论(0)