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)