【记录】LLM|魔搭社区加载本地模型Qwen-Image-Layered(附可运行的代码)

文章目录

  • 【记录】LLM|魔搭社区加载本地模型 Qwen-Image-Layered
    • 前言
    • 一、准备环境
    • 二、在线加载(网络可用时)
    • 三、常见报错与解决
      • 四、运行效果
    • 结语

【记录】LLM|魔搭社区加载本地模型 Qwen-Image-Layered

运行环境:

  • CPU:Intel® Xeon® Gold 6133 CPU @ 2.50GHz
  • GPU:NVIDIA GeForce RTX 4090
  • 系统:Ubuntu 24.04.2 LTS

成文验证时间:2026/01/07
若之后接口更新,本方法无法使用,请在评论区留言,我看到之后可能会更新新版。
本文主要适用于 Linux 场景,但 Windows 场景或 MacOS 也只要略微调整终端指令,改动不大,也可以参考本文。
对应的模型:Qwen-Image-Layered · 模型库

若无特殊指出,本文中提到的指令都是在终端直接运行的。

前言

网上有不少用 HuggingFaceEmbeddings 的示例,但那是“文本嵌入模型”的用法;Qwen-Image-Layered 是一个“图像分层生成/分解”的扩散模型,应该用 diffusers 的专用 Pipeline 来加载。
如果你像我一样误入歧途,跑去 HF 页面逐个下载文件、或者用 Embedding 类去加载它,十有八九会报错(例如 Unrecognized model 或 peft 版本过低等)。下面给出在 Linux 下“从魔搭社区下载到本地,然后离线加载”的最稳妥流程,并补充网络受限/限流时的镜像与 Token 方案。

性能提示:该模型的生成速度相对较慢,运行时间较长。在 RTX Pro 6000 96GB VRAM 上,峰值显存占用可以达到 45GB, 1024 px 生成时间需要 120s。根据一些 RTX 4090 用户的反馈,该工作流几乎会占满所有显存。建议显存较小的用户使用 FP8 版本以降低显存占用。
参考:Qwen-Image-Layered ComfyUI 工作流使用指南 | ComfyUI Wiki

FP8 版本指路:Qwen-Image-Layered ComfyUI 工作流使用指南 | ComfyUI Wiki。
如果你和我一样,不知道怎么用 fp8 版本,那你可以不用,然后继续往下看。


一、准备环境

建议使用独立虚拟环境(可选):

python -m venv ~/.venvs/qwen-imgsource~/.venvs/qwen-img/bin/activate python -V# 建议 Python 3.12+

安装依赖(含关键版本约束,避免已知兼容性问题):

首先跟着这篇博客去安装 pytorch:【安装】PyTorch|查看并调整 Cuda 版本以适应 PyTorch 安装的指南_cuda11.2 能装 11.1 的 pytorch 吗-CSDN 博客

安装好之后,安装以下依赖:

# 步骤 1:安装所需包pipinstall-U pip pipinstalltransformers>=4.57.3 pipinstallgit+https://github.com/huggingface/diffusers pipinstallpython-pptx torch pillow pipinstall-U"accelerate>=0.26.0"\"diffusers>=0.30.0""huggingface_hub>=0.23.0""peft>=0.17.0"Pillow pipinstallpsd-tools# 步骤 2:验证 CUDA 可用性(GPU 用户)python -c"import torch; print(torch.cuda.is_available())"

说明:

  • peft>=0.17.0 很关键,否则 diffusers 初始化会直接报错(你可能见过 peft==0.15.1 的报错)。
  • 有 NVIDIA GPU 时,建议安装与你 CUDA 匹配的 PyTorch 轮子,以便使用 GPU + bfloat16/float16 推理。

二、在线加载(网络可用时)

如果你倾向于在线拉取(首次下载,后续走本地缓存),建议配置镜像与 Token,降低 429 限流概率。

  1. 配置镜像与 Token(可选但强烈建议):
# 镜像(国内常用)exportHF_ENDPOINT=https://hf-mirror.com# Token(在 Hugging Face 个人设置中创建 Read 权限 Token)exportHF_TOKEN="hf_xxx_your_token_here"

Token 获取方式参考这篇博客: 镜像站也能被限流?用 Unsloth 踩坑实录:加个 Hugging Face Token,下载速度直接起飞_to continue using our service, create a hf account-CSDN 博客

  1. 代码中登录或显式传入 Token(两种选其一):
fromhuggingface_hubimportlogin login(token="hf_xxx_your_token_here")

pipe=QwenImageLayeredPipeline.from_pretrained("Qwen/Qwen-Image-Layered",token="hf_xxx_your_token_here",cache_dir="./hf_cache"# 指定本地缓存目录)
  1. 常见 429(Too Many Requests)限流处理:
  • 一定要使用 Token(匿名访问配额极低)。
  • 降低并发下载数量(如首次拉取时不要并行开太多进程/线程)。
  • 命中 429 时,遵循返回的 Retry-After 再重试。
  • 下载成功后会走本地缓存,后续不再重复请求。

4)完整代码:

fromdiffusersimportQwenImageLayeredPipelineimporttorchfromPILimportImagedefpick_best_gpu():best_i,best_free=0,-1foriinrange(torch.cuda.device_count()):torch.cuda.set_device(i)free,total=torch.cuda.mem_get_info()iffree>best_free:best_i,best_free=i,freereturnbest_i gpu_idx=pick_best_gpu()device=torch.device(f"cuda:{gpu_idx}")pipeline=QwenImageLayeredPipeline.from_pretrained("Qwen/Qwen-Image-Layered")pipeline=pipeline.to("cuda",torch.bfloat16)pipeline.set_progress_bar_config(disable=None)image=Image.open("test.jpg").convert("RGBA")inputs={"image":image,"generator":torch.Generator(device=device).manual_seed(777),"true_cfg_scale":4.0,"negative_prompt":" ","num_inference_steps":50,"num_images_per_prompt":1,"layers":4,"resolution":640,# Using different bucket (640, 1024) to determine the resolution. For this version, 640 is recommended"cfg_normalize":True,# Whether enable cfg normalization."use_en_prompt":True,# Automatic caption language if user does not provide caption}withtorch.inference_mode():output=pipeline(**inputs)output_image=output.images[0]fori,imageinenumerate(output_image):image.save(f"{i}.png")

如果你的显存不足的话,可以开均衡模式,这样子的话,单张显卡不会爆掉:

fromdiffusersimportQwenImageLayeredPipelineimporttorchfromPILimportImagefromaccelerateimportAccelerator# 1. 移除手动选择 GPU 的代码# 2. 使用 device_map="balanced" 自动分配显存# balanced 策略会尽量均匀分配,auto 策略可能会优先填满第一张pipeline=QwenImageLayeredPipeline.from_pretrained("Qwen/Qwen-Image-Layered",torch_dtype=torch.bfloat16,device_map="balanced",# 关键参数:自动切分模型到所有可用 GPU# 如果模型不支持直接 device_map,请参考下文的“备选方案”)# 注意:使用了 device_map 后,不要再调用 pipeline.to("cuda"),否则会破坏分配# 3. 启用显存优化(可选,如果显存依然紧张)# pipeline.enable_model_cpu_offload() # 单卡跑大模型时用这个# pipeline.enable_vae_slicing() # 降低 VAE 解码时的显存image=Image.open("test.jpg").convert("RGBA")inputs={"image":image,# generator 不需要手动指定 device,或者指定为 "cuda" 即可,pipeline 会自动处理"generator":torch.Generator(device="cuda").manual_seed(777),"true_cfg_scale":4.0,"negative_prompt":" ","num_inference_steps":50,"num_images_per_prompt":1,"layers":4,"resolution":1024,"cfg_normalize":True,"use_en_prompt":True,}withtorch.inference_mode():output=pipeline(**inputs)output_image=output.images[0]fori,imginenumerate(output_image):img.save(f"{i}.png")

三、常见报错与解决

  • 报错:ImportError: peft>=0.17.0 is required … but found peft==0.15.1
    解决:升级 peft

    pipinstall-U"peft>=0.17.0"
  • 报错:429 Client Error: Too Many Requests(尤其使用 hf-mirror.com 时)
    解决:设置 Token,并尽量减少并发;必要时等待片刻再试。

    exportHF_ENDPOINT=https://hf-mirror.comexportHF_TOKEN="hf_xxx_your_token_here"

    也可在 from_pretrained 里传入 token=… 或使用 huggingface_hub.login。

  • 报错:Cannot load model … model is not cached locally and an error occurred while trying to fetch metadata
    解决:要么在离线场景下用 local_files_only=True 并确保本地目录完整;要么联网+Token 让 from_pretrained 能拉取元数据。

  • 报错:torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 108.00 MiB. GPU 0 has a total capacity of 23.55 GiB of which 56.56 MiB is free. Including non-PyTorch memory, this process has 23.45 GiB memory in use. Of the allocated memory 22.88 GiB is allocated by PyTorch, and 198.48 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
    解决:必须换一个大的显卡。
    该模型的生成速度相对较慢,运行时间较长。在 RTX Pro 6000 96GB VRAM 上,峰值显存占用可以达到45GB,1024 px 生成时间需要 120s。根据一些 RTX 4090 用户的反馈,该工作流几乎会占满所有显存。建议显存较小的用户使用 FP8 版本以降低显存占用。或者请用我这篇文章中提到的均衡模式的代码

  • 报错:Could not import module ‘Qwen2_5_VLForConditionalGeneration’. Are this object’s requirements defined correctly?

  • 解决:很可能是因为 pytorch 的版本和 pytorch vision 的版本不一致,参考这篇博客安装一下:【安装】PyTorch|查看并调整 Cuda 版本以适应 PyTorch 安装的指南_cuda11.2 能装 11.1 的 pytorch 吗-CSDN 博客

  • 结果异常:输出不是多张 RGBA 图层
    检查输入是否已 convert(“RGBA”);确保使用了正确的 Pipeline(QwenImageLayeredPipeline),且模型目录完整。


四、运行效果

这里选了别人发给我的一张图,原图就不公开了。是一个手账类型的图。

设置 640 像素的时候,效果是这样(马赛克是我自己打的,因为我不想有什么粉丝争端。可以看到,文字背景分离的不是很好,然后图片也有一点模糊)(大概跑了 23 分钟):


设置 1024 像素的时候,效果是这样,清楚很多,效果也很好(跑了 39 分钟):

结语

  • Qwen-Image-Layered 是“图像分层”的扩散模型,用 diffusers 的 QwenImageLayeredPipeline 加载最合适。
  • “魔搭社区加载本地模型”的关键在于:先把完整模型目录落到本地(包含 model_index.json 等),然后 from_pretrained 指向该目录,并加上 local_files_only=True。
  • 网络可用时,配合镜像与 HF_TOKEN 在线拉取,成功后走缓存;网络不佳或需离线时,直接走本地目录。

如果你在不同显卡/不同版本组合下遇到其他问题,欢迎在评论区反馈。

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://shandianchengzi.blog.csdn.net/article/details/156690977。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1125332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CentOS系统安装Python3.12.10

参考: https://cloud.tencent.com/developer/article/1565709 1、安装编译对应的依赖: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make​ 2、改名Python cd /usr/binmv python pyth…

亲测好用自考必看TOP10AI论文工具

亲测好用自考必看TOP10AI论文工具 一、不同维度核心推荐:10款AI工具各有所长 在自考论文写作过程中,从选题、开题到初稿撰写、查重降重,再到最终排版,每一个环节都离不开高效的工具支持。而不同的AI论文工具在功能覆盖和适用场景…

AI框架之Spring AI与Spring Cloud Alibaba AI使用讲解

文章目录 1 AI框架 1.1 Spring AI 简介1.2 Spring AI 使用 1.2.1 pom.xml1.2.2 可实现的功能 1.3 Spring Cloud Alibaba AI1.4 Spring Cloud Alibaba AI 实践操作 1.4.1 pom.xml1.4.2 配置文件1.4.3 对接文本模型1.4.4 文生图模型1.4.5 语音合成模型 1 AI框架 1.1 Spring …

AFP87432输入/输出端子板

AFP87432 输入/输出端子板是一块用于PLC系统的扩展模块,主要功能是让PLC与现场设备(如开关、传感器、继电器、指示灯等)进行信号交互。主要功能输入信号接收接入现场数字信号,例如按钮、限位开关或传感器的开关量。常见输入电压为…

机器人开发的“ChatGPT时刻”已到 老黄定调“物理AI”的路线图

作者:毛烁如果深入拆解黄仁勋的观点内核,就会发现“物理 AI(Physical AI)”这一概念的实际上是底层控制权交接——当物理 AI(Physical AI)通过了技术进化的临界点,从人类编写的确定性代码&#…

CC++链接数据库(MySQL)超级详细指南

C/C链接数据库(MySQL)超级详细指南 在C/C编程中,与数据库进行交互是一项常见的任务。MySQL作为一个广泛使用的开源关系型数据库管理系统,提供了丰富的API供C/C开发者使用。本文将详细介绍如何在C/C程序中链接MySQL数据库&#xf…

44-7145-55控制器模块

44‑7145‑55 控制器模块是一种工业或设备控制系统中的电子模块,主要作用是在现场设备和主控制器之间处理信号。功能和作用输入信号采集接收来自按钮、开关、传感器等的数字或模拟信号。对信号进行滤波、去抖动或状态转换,保证主控制器读取可靠。输出信号…

@RestController注解

1. 引言 在现代的Java Web开发中,Spring框架因其简洁、高效和强大的功能而受到广泛欢迎。Spring MVC是Spring框架的一个重要组成部分,用于构建Web应用程序。RestController注解是Spring MVC提供的一个关键注解,用于简化RESTful Web服务的开发…

0-073-0030-0可编程控制器

0‑073‑0030‑0 可编程控制器是一种工业自动化控制装置,属于可编程逻辑控制器(PLC)。它通过程序控制系统中输入信号的采集、逻辑处理以及输出信号的控制,实现对机械或设备的自动化管理。功能和作用输入采集接收来自开关、按钮、传…

5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程项目

环境 idea 2023.3.5 jdk 17 mysql 8 创建SpringBoot工程 创建SpringBoot工程,这里有两种方式可选,一种是使用idea提供的Spring Initializr自动创建,一种是通过Maven Archetype手动创建 自动创建SpringBoot工程 使用Spring Initializr创建&…

CES 2026最酷笔记本电脑:可拆卸设计成为新趋势

未来的笔记本电脑可能会拥有更长的使用寿命。AMD、Intel和高通在CES 2026上分别发布了新款移动处理器,将为今年的下一代笔记本电脑提供动力,承诺带来更好的CPU性能、更强的图形处理能力、改进的AI功能和更长的电池续航。这些新芯片将应用于各种类型的笔记…

3BSE022366R1通信接口模块

3BSE022366R1 通信接口模块是 ABB 自动化控制系统中的一款通信单元,主要用于控制器与现场设备或分布式 I/O 之间的数据通信,属于系统里的关键“通信桥梁”。核心作用系统通信接口连接主控制器(PLC / DCS)与远程 I/O、驱动器、仪表…

探讨 C++ 在工程实践中的独特价值、其对底层能力的深刻影响,以及在复杂系统设计中不可替代的作用,揭示技术发展的新趋势与面对的挑战

在互联网行业的早期阶段,技术红利极为明显。只要掌握一门主流语言,熟悉常见框架,就可以迅速参与项目、完成需求、获得不错的职业回报。但随着行业逐渐成熟,一个现实问题开始浮现:为什么技术工作年限相近的工程师&#…

基于Python+Django的框架的知否连锁花店管理系统毕设源码+文档+讲解视频

前言 本课题聚焦基于PythonDjango框架的知否连锁花店管理系统设计与实现,旨在解决知否连锁花店传统运营模式中门店协同低效、花卉库存管理混乱、订单跟踪不及时、会员档案零散及经营数据统计滞后等问题。系统采用B/S架构,依托浏览器即可实现多端便捷访问…

251524259-C控制器模块

251524259-C 控制器模块通常是指工业控制系统里的一个 控制单元/逻辑模块,它承担着 处理输入信号、执行控制逻辑、输出控制指令 的功能,是设备自动控制系统的重要组成部分。下面用通俗的方式帮你理解这类控制器模块的作用、工作方式和典型应用&#xff1…

AMD发布Instinct GPU新品挑战英伟达数据中心霸主地位

AMD在拉斯维加斯的CES展会上发布了针对企业客户的Instinct GPU产品线关键更新和Helios机架级系统,直指GPU霸主英伟达在数据中心领域的主导地位。1月6日,AMD公司发布了下一代Instinct MI500 GPU以及MI400系列的最新产品Instinct MI400X,专为处…

2024最新版Node.js下载安装及环境配置教程【保姆级】

一、进入官网地址下载安装包 Node.js 中文网 选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位 二、安装程序 (1)下载完成后,双击安装包,开始安装Node.js (2)直接点【Next】按钮,此处可根据…

基于Python+Django的框架的青岛开发区芳华美容院管理系统毕设源码+文档+讲解视频

前言 本课题聚焦基于PythonDjango框架的青岛开发区芳华美容院管理系统设计与实现,旨在解决青岛开发区芳华美容院传统运营模式中客户档案管理零散、服务项目调度混乱、预约流程繁琐、库存耗材管控低效等问题。系统采用B/S架构,依托浏览器即可实现多端便捷…

基于STM32的智能语音台灯系统设计与实现

基于STM32的智能语音台灯系统设计与实现摘要随着物联网技术的快速发展和人们生活水平的不断提高,智能家居产品正逐渐融入人们的日常生活。作为家居环境中不可或缺的照明设备,传统台灯功能单一、操作不便,已难以满足现代人对便捷、健康、智能化…

CentOS7安装Mysql5.7(ARM64架构)

1.第一步:下载 arm 版本离线 mysql 5.7 安装包 arm 版本离线 mysql 5.7 安装包 2.第二步:查询并卸载 CentOS 自带的数据库 Mariadb 找到数据库 mariadb,如果有会给出一个结果,结果是 mariadb 名称 rpm -qa | grep mariadb 如果…