🚀 SDXL InstructPix2Pix (768768)
本项目基于InstructPix2Pix的方法,对Stable Diffusion XL (SDXL)进行指令微调。以下是一些生成结果示例:
编辑指令:"将天空变为多云的样子"

编辑指令:"将其变成毕加索风格的画作"

编辑指令:"让人物看起来更老一些"

🚀 快速开始
📦 安装指南
在使用之前,请确保安装所需的库:
pip install accelerate transformers
pip install git+https://github.com/huggingface/diffusers
💻 使用示例
基础用法
import torch
from diffusers import StableDiffusionXLInstructPix2PixPipeline
from diffusers.utils import load_image
resolution = 768
image = load_image(
"https://hf.co/datasets/diffusers/diffusers-images-docs/resolve/main/mountain.png"
).resize((resolution, resolution))
edit_instruction = "Turn sky into a cloudy one"
pipe = StableDiffusionXLInstructPix2PixPipeline.from_pretrained(
"diffusers/sdxl-instructpix2pix-768", torch_dtype=torch.float16
).to("cuda")
edited_image = pipe(
prompt=edit_instruction,
image=image,
height=resolution,
width=resolution,
guidance_scale=3.0,
image_guidance_scale=1.5,
num_inference_steps=30,
).images[0]
edited_image.save("edited_image.png")
更多详细信息,请参考文档。
⚠️ 重要提示
此检查点本质上是实验性的,有很大的改进空间。请使用本仓库的“讨论”标签来提出问题和进行讨论。
🔧 技术细节
训练
我们使用InstructPix2Pix训练方法对SDXL进行了15000步的微调,在768x768的图像分辨率上使用了固定学习率5e - 6。
我们的训练脚本和其他实用工具可以在这里找到,它们是基于我们的官方训练脚本构建的。
我们的训练日志可以在Weights and Biases上查看这里。请参考此链接了解所有超参数的详细信息。
训练数据
我们使用了这个数据集:timbrooks/instructpix2pix-clip-filtered。
计算资源
使用一台配备8张A100显卡的机器。
批量大小
采用数据并行,单GPU批量大小为8,总批量大小为32。
混合精度
使用FP16。
📄 许可证
本项目采用OpenRAIL++许可证。
信息表格
属性 |
详情 |
基础模型 |
stabilityai/stable-diffusion-xl-base-1.0 |
标签 |
stable-diffusion-xl、stable-diffusion-xl-diffusers、text-to-image、diffusers、instruct-pix2pix |
推理 |
否 |
数据集 |
timbrooks/instructpix2pix-clip-filtered |
许可证 |
OpenRAIL++ |