Stable Diffusion:使用自己的数据集微调 Stable Diffusion 3.5 LoRA 文生图模型

Stable Diffusion:使用自己的数据集微调 Stable Diffusion 3.5 LoRA 文生图模型

Stable Diffusion:使用自己的数据集微调 Stable Diffusion 3.5 LoRA 文生图模型

在这里插入图片描述


在这里插入图片描述
在这里插入图片描述

前言

由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏、人工智能混合编程实践专栏或我的个人主页查看Ultralytics:使用 YOLO11 进行速度估计Ultralytics:使用 YOLO11 进行物体追踪Ultralytics:使用 YOLO11 进行物体计数Ultralytics:使用 YOLO11 进行目标打码人工智能混合编程实践:C++调用Python ONNX进行YOLOv8推理人工智能混合编程实践:C++调用封装好的DLL进行YOLOv8实例分割人工智能混合编程实践:C++调用Python ONNX进行图像超分重建人工智能混合编程实践:C++调用Python AgentOCR进行文本识别通过计算实例简单地理解PatchCore异常检测Python将YOLO格式实例分割数据集转换为COCO格式实例分割数据集YOLOv8 Ultralytics:使用Ultralytics框架训练RT-DETR实时目标检测模型基于DETR的人脸伪装检测YOLOv7训练自己的数据集(口罩检测)YOLOv8训练自己的数据集(足球检测)YOLOv5:TensorRT加速YOLOv5模型推理YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)使用Kaggle GPU资源免费体验Stable Diffusion开源项目Stable Diffusion:在服务器上部署使用Stable Diffusion WebUI进行AI绘图(v2.0)Stable Diffusion:使用自己的数据集微调训练LoRA模型(v2.0)

环境要求

Package Version ------------------------ ------------ absl-py 2.3.1 accelerate 1.11.0 aiohappyeyeballs 2.6.1 aiohttp 3.13.1 aiosignal 1.4.0 annotated-types 0.7.0 anyio 4.11.0 attrs 25.4.0 bitsandbytes 0.48.1 certifi 2025.10.5 charset-normalizer 3.4.4 click 8.3.0 datasets 4.2.0 diffusers 0.35.2 dill 0.4.0 filelock 3.20.0 frozenlist 1.8.0 fsspec 2025.9.0 gitdb 4.0.12 GitPython 3.1.45 grpcio 1.75.1 h11 0.16.0 hf-xet 1.1.10 httpcore 1.0.9 httpx 0.28.1 huggingface-hub 0.35.3 idna 3.11 importlib_metadata 8.7.0 Jinja2 3.1.6 Markdown 3.9 MarkupSafe 3.0.3 modelscope 1.31.0 mpmath 1.3.0 multidict 6.7.0 multiprocess 0.70.16 networkx 3.5 numpy 2.3.4 nvidia-cublas-cu11 11.11.3.6 nvidia-cuda-cupti-cu11 11.8.87 nvidia-cuda-nvrtc-cu11 11.8.89 nvidia-cuda-runtime-cu11 11.8.89 nvidia-cudnn-cu11 9.1.0.70 nvidia-cufft-cu11 10.9.0.58 nvidia-curand-cu11 10.3.0.86 nvidia-cusolver-cu11 11.4.1.48 nvidia-cusparse-cu11 11.7.5.86 nvidia-nccl-cu11 2.20.5 nvidia-nvtx-cu11 11.8.86 packaging 25.0 pandas 2.3.3 peft 0.17.1 Pillow 9.5.0 pip 24.0 platformdirs 4.5.0 propcache 0.4.1 protobuf 6.33.0 psutil 7.1.1 pyarrow 21.0.0 pydantic 2.12.3 pydantic_core 2.41.4 python-dateutil 2.9.0.post0 pytz 2025.2 PyYAML 6.0.3 regex 2025.10.22 requests 2.32.5 safetensors 0.6.2 sentencepiece 0.2.1 sentry-sdk 2.42.1 setuptools 65.5.0 six 1.17.0 smmap 5.0.2 sniffio 1.3.1 sympy 1.14.0 tensorboard 2.20.0 tensorboard-data-server 0.7.2 tokenizers 0.22.1 torch 2.4.1+cu118 torchaudio 2.4.1+cu118 torchvision 0.19.1+cu118 tqdm 4.67.1 transformers 4.57.1 triton 3.0.0 typing_extensions 4.15.0 typing-inspection 0.4.2 tzdata 2025.2 urllib3 2.5.0 wandb 0.22.2 Werkzeug 3.1.3 xxhash 3.6.0 yarl 1.22.0 zipp 3.23.0 

相关介绍

Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。PyTorch 是一个深度学习框架,封装好了很多网络和深度学习相关的工具方便我们调用,而不用我们一个个去单独写了。它分为 CPU 和 GPU 版本,其他框架还有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一个基于 Python 的可续计算包,提供两个高级功能:1、具有强大的 GPU 加速的张量计算(如 NumPy);2、构建深度神经网络时的自动微分机制。Stable Diffusion 3.5 简介核心特点
Stable Diffusion 3.5 是 Stability AI 于 2024 年 10 月 22 日正式发布的最新图像生成模型,是 Stable Diffusion 3.0 系列的升级版本,旨在回应社区对 SD3 Medium 版本的不满。主要版本:Stable Diffusion 3.5 Large:80亿参数,支持100万像素分辨率的高清图像生成Stable Diffusion 3.5 Large Turbo:80亿参数,仅需4步即可生成高质量图像,速度比 Large 版本快5-10倍Stable Diffusion 3.5 Medium(10月29日发布):25亿参数,适合消费级硬件,支持0.25-200万像素图像生成技术核心:采用 MM-DiT(Modified Multimodal Diffusion Transformer)作为核心基于改进的 MMDiT-X 架构和训练方法集成 Query-Key Normalization,简化微调过程,提升可定制性优势图像质量提升:生成图像更清晰,画质优于前代版本提示词遵循能力:在提示词精确度方面领先市场,能更准确地理解用户指令多样化输出:能生成代表不同肤色、特征和背景的图像,无需复杂提示词广泛风格支持:可生成3D渲染、摄影作品、传统绘画、线条艺术等多种风格商业友好:年收入不超过100万美元的组织或个人可免费商用修复重大Bug:修复了 SD3 中"无法生成躺在草地上的女孩"的重大问题局限性结构稳定性:与 Flux 模型相比,在手指、文字等结构细节上略逊一筹提示词要求:当提示词缺乏具体性时,输出结果的不确定性可能增加硬件需求:虽然比前代优化,但 Large 版本仍需要10G以上显卡和32G以上内存应用场景艺术创作:艺术家和设计师生成独特艺术作品或设计概念图游戏开发:快速生成游戏角色、场景和道具的概念图广告营销:设计广告图像和营销材料,快速迭代创意媒体娱乐:在电影和视频制作中生成特效背景或场景教育研究:创建教学材料或模拟科学现象商业应用:中小企业和个人可免费商用,用于产品设计和营销与竞品对比与 Flux.1 DEV 相比:SD3.5 Large 推理速度略快(1分50秒 vs 2分10秒),画质更清晰SD3.5 在提示词遵循能力上更优,但 Flux 在结构稳定性(如手指、文字)上略胜一筹SD3.5 Large 支持100万像素,Flux 支持200万像素官方源代码: https://huggingface.co/stabilityai/stable-diffusion-3.5-largePatrick Esser, Sumith Kulal, Andreas Blattmann, Rahim Entezari, Jonas Muller, Harry Saini, Yam Levi, Dominik Lorenz, Axel Sauer, Frederic Boesel, Dustin Podell, Tim Dockhorn, Zion English,
Kyle Lacey, Alex Goodwin, Yannik Marek, Robin Rombach, Stability AI. Scaling Rectified Flow Transformers for High-Resolution Image Synthesis. 2024

微调 Stable Diffusion 3.5 LoRA 文生图模型

下载Stable Diffusion 3.5 LoRA Fine-Tuning项目

官方源代码: https://github.com/seochan99/stable-diffusion-3.5-text2image-lora.git

Windows

在这里插入图片描述

Linux

git clone https://github.com/seochan99/stable-diffusion-3.5-text2image-lora.git 

准备数据集

准备一个用于模型微调数据集。

dataset/ ├── images/ │ ├── landscape_001.jpg │ ├── portrait_001.jpg │ └── ... └── metadata.jsonl 
在这里插入图片描述


在这里插入图片描述

metadata.jsonl,内容如下。

{"image":"images/landscape_001.jpg","caption":"a breathtaking mountain landscape with snow-capped peaks, a crystal clear lake reflecting the sky, and pine trees in the foreground"}{"image":"images/portrait_001.jpg","caption":"a professional portrait of a young woman with curly brown hair, wearing a blue denim jacket, smiling softly, natural lighting"}{"image":"images/cityscape_001.jpg","caption":"a bustling cyberpunk cityscape at night, neon signs glowing in pink and blue, flying cars, futuristic skyscrapers reaching into the clouds"}{"image":"images/nature_001.jpg","caption":"a peaceful forest scene with tall oak trees, sunlight filtering through the leaves, a small stream flowing over rocks"}{"image":"images/abstract_001.jpg","caption":"an abstract digital art piece with flowing geometric shapes in vibrant colors, purple and gold gradients, modern minimalist style"}{"image":"images/animal_001.jpg","caption":"a majestic golden retriever dog sitting in a flower field, tongue out, happy expression, wildflowers in the background"}

下载预训练模型

Hugging Face

import os os.environ['HF_ENDPOINT']='https://hf-mirror.com'# 如果没有科学上网,可以设置国内镜像。from huggingface_hub import snapshot_download snapshot_download(repo_id="stabilityai/stable-diffusion-3.5-large", local_dir="stabilityai/stable-diffusion-3.5-large")

Model Scope

from modelscope import snapshot_download model_dir = snapshot_download('AI-ModelScope/stable-diffusion-3.5-medium', local_dir="stabilityai/stable-diffusion-3.5-medium")

进行训练

python stable-diffusion-3.5-text2image-lora-main/train_text_to_image_lora_sd35.py --pretrained_model_name_or_path stabilityai/stable-diffusion-3.5-medium --train_data_dir sd3_test/stable-diffusion-3.5-text2image-lora-main/examples/dataset/ --output_dir sd3_test/stable-diffusion-3.5-text2image-lora-main/outputs/sd35-lora --resolution 1024 --train_batch_size 1 --gradient_accumulation_steps 4 --num_train_epochs 50 --rank 64 --learning_rate 0.0001 --text_encoder_lr 1e-05 --lr_scheduler cosine --lr_warmup_steps 500 --lr_num_cycles 1 --mixed_precision fp16 --validation_epochs 2 --num_validation_images 2 --checkpointing_steps 500 --report_to tensorboard --dataloader_num_workers 2 --seed 42 --precondition_outputs 1 --random_flip --gradient_checkpointing --train_text_encoder 

输出结果

在这里插入图片描述

进行预测

python stable-diffusion-3.5-text2image-lora-main/inference.py --model_path stabilityai/stable-diffusion-3.5-medium --lora_path stable-diffusion-3.5-text2image-lora-main/outputs/sd35-lora/pytorch_lora_weights.safetensors --prompt "a professional portrait of a young woman with curly brown hair, wearing a blue denim jacket, smiling softly, natural lighting" --num_images 4 --seed 42

输出结果

在这里插入图片描述

参考

[1] Patrick Esser, Sumith Kulal, Andreas Blattmann, Rahim Entezari, Jonas Muller, Harry Saini, Yam Levi, Dominik Lorenz, Axel Sauer, Frederic Boesel, Dustin Podell, Tim Dockhorn, Zion English,
Kyle Lacey, Alex Goodwin, Yannik Marek, Robin Rombach, Stability AI. Scaling Rectified Flow Transformers for High-Resolution Image Synthesis. 2024

[2] https://huggingface.co/stabilityai/stable-diffusion-3.5-large
[3] https://huggingface.co/stabilityai/stable-diffusion-3.5-medium

由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点击进入Python日常小操作专栏、OpenCV-Python小应用专栏、YOLO系列专栏、自然语言处理专栏、人工智能混合编程实践专栏或我的个人主页查看Ultralytics:使用 YOLO11 进行速度估计Ultralytics:使用 YOLO11 进行物体追踪Ultralytics:使用 YOLO11 进行物体计数Ultralytics:使用 YOLO11 进行目标打码人工智能混合编程实践:C++调用Python ONNX进行YOLOv8推理人工智能混合编程实践:C++调用封装好的DLL进行YOLOv8实例分割人工智能混合编程实践:C++调用Python ONNX进行图像超分重建人工智能混合编程实践:C++调用Python AgentOCR进行文本识别通过计算实例简单地理解PatchCore异常检测Python将YOLO格式实例分割数据集转换为COCO格式实例分割数据集YOLOv8 Ultralytics:使用Ultralytics框架训练RT-DETR实时目标检测模型基于DETR的人脸伪装检测YOLOv7训练自己的数据集(口罩检测)YOLOv8训练自己的数据集(足球检测)YOLOv5:TensorRT加速YOLOv5模型推理YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU玩转Jetson Nano(五):TensorRT加速YOLOv5目标检测YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)使用Kaggle GPU资源免费体验Stable Diffusion开源项目Stable Diffusion:在服务器上部署使用Stable Diffusion WebUI进行AI绘图(v2.0)Stable Diffusion:使用自己的数据集微调训练LoRA模型(v2.0)

Read more

【红黑树进阶】手撕STL源码:从零封装RB-tree实现map和set

【红黑树进阶】手撕STL源码:从零封装RB-tree实现map和set

👇点击进入作者专栏: 《算法画解》 ✅ 《linux系统编程》✅ 《C++》 ✅ 文章目录 * 一. 源码及框架分析 * 1.1 STL源码中的设计思想 * 1.2 STL源码框架分析 * 二. 模拟实现map和set(实现复用红黑树的框架) * 2.1 红黑树节点的定义 * 2.2 红黑树的基本框架 * 2.3 解决Key的比较问题:KeyOfT仿函数 * 2.4 支持insert插入 * 2.5 map和set的insert封装 * 三. 迭代器的实现 * 3.1 迭代器结构设计 * 3.2 迭代器的++操作 * 3.3 迭代器的--操作 * 3.4 RBTree中的迭代器接口 * 四. map和set对迭代器的封装 * 4.

微信网页版完全解决方案:wechat-need-web插件让浏览器聊微信不再受限

微信网页版完全解决方案:wechat-need-web插件让浏览器聊微信不再受限 【免费下载链接】wechat-need-web让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 你是否遇到过微信网页版无法访问的问题?wechat-need-web插件正是为解决这一痛点而生,它能让你在Chrome、Edge和Firefox浏览器中顺畅使用微信网页版,无需安装臃肿的客户端,轻松实现浏览器内的微信沟通。 为什么微信网页版访问总是失败? 很多用户反馈,直接访问微信网页版时经常遇到"无法登录"或"网络错误"等提示。这是因为微信对网页端访问采取了严格的验证机制,普通浏览器请求往往会被服务器拒绝。对于需要在工作电脑上使用微信的用户来说,这无疑带来了极大的不便。 wechat-need-web如何解决网页版访问难题? wechat-need-web插件通过智能技术手段,在浏览器请求中动态添加必要的验证参数,让微信服务器

前端大文件分片上传实现与断点续传方案(含完整代码讲解)

在上传大文件(如视频、安装包、模型文件)时,直接上传容易出现以下问题: * 文件过大 → 浏览器/服务器容易超时 * 上传过程中断 → 重新上传浪费时间 * 网络波动 → 上传失败率高 因此,大文件分片上传 + 断点续传 + 秒传校验 是目前最通用、最稳定的解决方案。 本文将通过一段完整可运行的示例代码,详细讲解如何在前端实现分片上传、断点续传、服务端校验等关键功能。 ✨ 实现效果 * ✔ 自动切片(默认 5MB/片,可配置) * ✔ 查询已上传分片(断点续传) * ✔ 自动跳过已上传的片段 * ✔ 每片上传成功后重新校验 * ✔ 所有片段上传完成后自动触发合并 * ✔ 错误处理完善 📌 核心代码(uploadLargeFile) 以下代码就是本文的核心逻辑,也是你提供的代码版本,经过梳理解释后会更易理解: export async function uploadLargeFile({ file, fileId, id, chunkSize = 5 * 1024

3个步骤搞定Dify工作流Web交互界面开发:从登录表单到状态管理

3个步骤搞定Dify工作流Web交互界面开发:从登录表单到状态管理 【免费下载链接】Awesome-Dify-Workflow分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow 在低代码开发领域,Dify工作流为AI应用提供了强大的可视化开发能力,但开发者常面临三大痛点:如何设计直观的用户交互界面?怎样实现安全可靠的用户认证流程?以及如何在不同节点间有效管理用户状态?本文将通过"设计理念→实现步骤→调试技巧"三阶结构,带你用低代码方式构建企业级Web交互界面,重点解决表单交互、用户认证和跨节点状态管理难题。 设计理念:Dify交互界面的核心架构 Dify工作流的Web交互设计基于"节点驱动"架构,将传统前端开发中的页面、组件和逻辑拆分为可配置的节点组合。这种设计理念带来三大优势:无需编写HTML/CSS即可生成界面、通过节点连接实现业务逻辑、