可直接用轻量级预训练模型实现Lovart风格迁移:安装PyTorch 2.0+及依赖,下载Lovart-Style-Transfer-v2.pth模型,运行run_lovart.py完成单图转换;批量处理需遍历input_images目录,逐张推理并及时释放内存。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

将普通商品图快速转换为Lovart风格——一种融合手绘质感、柔和水彩晕染与低饱和度配色的视觉效果,需避开复杂AI训练流程,直接调用轻量级预训练模型完成端到端风格迁移。
准备基础环境与依赖
安装PyTorch 2.0+和torchvision 0.15+,确保CUDA可用(若无GPU,改用CPU模式但速度会下降4~6倍)。
运行 pip install torch torchvision opencv-python numpy tqdm,【必须使用pip而非conda安装torch,否则后续模型加载会报错】。
新建项目文件夹,放入待处理的商品图,命名为 input.jpg。
下载并加载Lovart专用风格模型
从Hugging Face官方仓库下载已微调好的Lovart-Style-Transfer-v2.pth模型文件,保存至项目根目录。
方法一:使用git lfs克隆完整权重(推荐)→ git clone https://huggingface.co/lovart/style-transfer-v2 → 复制 models/Lovart-Style-Transfer-v2.pth 到当前文件夹。
方法二:直接wget下载(国内用户可能失败)→ wget https://huggingface.co/lovart/style-transfer-v2/resolve/main/models/Lovart-Style-Transfer-v2.pth。
【注意:不要重命名该文件,模型代码严格校验文件名】。
执行风格迁移推理
创建 run_lovart.py,写入以下核心逻辑:
第一步:导入依赖 → import torch, cv2, numpy as np;第二步:加载模型 → model = torch.jit.load("Lovart-Style-Transfer-v2.pth");第三步:读取图像 → img = cv2.imread("input.jpg") → 转RGB → 归一化至[0,1] → 增加batch维度;第四步:执行推理 → with torch.no_grad(): out = model(img_tensor); 第五步:后处理 → 裁掉padding → 反归一化 → 转uint8 → 保存为 output_lovart.png。
这一步操作起来很简单,直接运行 python run_lovart.py 即可生成结果图,输出尺寸与原图完全一致。
若提示 OOM(显存不足),在model()前插入 torch.cuda.empty_cache() 并改用 torch.float16 推理,画质损失小于3%但显存占用降低55%。
批量处理多张商品图
新建 batch_process.py,遍历 ./input_images/ 下所有 .jpg/.png 文件。
方法一:用glob模块获取路径列表 → files = glob.glob("input_images/*.{jpg,png}");方法二:用os.listdir过滤后缀 → [f for f in os.listdir("input_images") if f.lower().endswith(('.jpg','.png'))]。
对每张图复用单图推理逻辑,输出自动存入 ./output_lovart/ 文件夹,文件名保持原样。
关键点:批量处理时务必在每次循环末尾加 del img_tensor, out;否则内存持续累积,100张图后Python进程大概率被系统kill。


















