stable-diffusion-xl_pytorch生成高质量的图像的AIGC模型

stable-diffusion-xl_pytorch

论文

SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis

模型结构

sdxl在stable diffusion的基础上使用了更大的Unet backbone,以及两个text-encoder对prompt进行处理,同时包含两个模型,分别为BaseRefiner,其中Base可以单独使用以生成图像,也可以BaseRefiner同时使用,生成更高分辨率的图像。

算法原理

sdxl遵循DDPM训练目标,通过扩散-重建方式训练网络。

环境配置

Docker(方法一)

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-ubuntu20.04-dtk24.04.1-py3.10

docker run --shm-size 50g --network=host --name=sdxl --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install -r requirements.txt

Dockerfile(方法二)

docker build -t <IMAGE_NAME>:<TAG> .

docker run --shm-size 50g --network=host --name=sdxl --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

pip install -r requirements.txt

Anaconda (方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/

DTK驱动:dtk24.04.1
python:python3.10
torch: 2.1.0
torchvision: 0.16.0

Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应

2、其它非特殊库参照requirements.txt安装

pip install -r requirements.txt

数据集

训练

推理

python inference_diffusers.py --mode t2i --prompt <your prompt>

更多参数列表如下所示

keyvalue说明
--modet2i/i2i/inpainting/t2i_wr/inpainting_wr模型模式,wr表示with refiner
--base_path/path/to/sdxl-basesdxl基础模型路径
--promptyour prompt提示语
--refiner_path/path/to/sdxl-refinersdxl-refiner模型路径
--image_path图像路径
--mask_path掩码图像路径
--save_root图像存储文件夹路径

注意:该脚本仅用于sdxl基本功能测试,更多高级功能请参考参考资料部分,也可以使用ComfyUIFooocus 获取更好的体验。

result

prompt: a panda is playing a ball.

t2ii2iinpainting
img

mask

output

精度

应用场景

算法类别

AIGC

热点应用行业

零售,广媒,教育

预训练权重

base-modelrefiner-model
huggingface / SCNet 高速通道huggingface / SCNet高速通道

权重文件结构(以下权重按需下载并放入相应的文件夹)

pretrained_models/
├── stable-diffusion-xl-base-1.0
│   ├── 01.png
│   ├── comparison.png
│   ├── LICENSE.md
│   ├── model_index.json
│   ├── pipeline.png
│   ├── README.md
│   ├── scheduler
│   │   └── scheduler_config.json
│   ├── sd_xl_base_1.0_0.9vae.safetensors
│   ├── sd_xl_base_1.0.safetensors
│   ├── sd_xl_offset_example-lora_1.0.safetensors
│   ├── text_encoder
│   │   ├── config.json
│   │   ├── flax_model.msgpack
│   │   ├── model.fp16.safetensors
│   │   ├── model.onnx
│   │   ├── model.safetensors
│   │   ├── openvino_model.bin
│   │   └── openvino_model.xml
│   ├── text_encoder_2
│   │   ├── config.json
│   │   ├── flax_model.msgpack
│   │   ├── model.fp16.safetensors
│   │   ├── model.onnx
│   │   ├── model.onnx_data
│   │   ├── model.safetensors
│   │   ├── openvino_model.bin
│   │   └── openvino_model.xml
│   ├── tokenizer
│   │   ├── merges.txt
│   │   ├── special_tokens_map.json
│   │   ├── tokenizer_config.json
│   │   └── vocab.json
│   ├── tokenizer_2
│   │   ├── merges.txt
│   │   ├── special_tokens_map.json
│   │   ├── tokenizer_config.json
│   │   └── vocab.json
│   ├── unet
│   │   ├── config.json
│   │   ├── diffusion_flax_model.msgpack
│   │   ├── diffusion_pytorch_model.fp16.safetensors
│   │   ├── diffusion_pytorch_model.safetensors
│   │   ├── model.onnx
│   │   ├── model.onnx_data
│   │   ├── openvino_model.bin
│   │   └── openvino_model.xml
│   ├── vae
│   │   ├── config.json
│   │   ├── diffusion_flax_model.msgpack
│   │   ├── diffusion_pytorch_model.fp16.safetensors
│   │   └── diffusion_pytorch_model.safetensors
│   ├── vae_1_0
│   │   ├── config.json
│   │   ├── diffusion_pytorch_model.fp16.safetensors
│   │   └── diffusion_pytorch_model.safetensors
│   ├── vae_decoder
│   │   ├── config.json
│   │   ├── model.onnx
│   │   ├── openvino_model.bin
│   │   └── openvino_model.xml
│   └── vae_encoder
│       ├── config.json
│       ├── model.onnx
│       ├── openvino_model.bin
│       └── openvino_model.xml
└── stable-diffusion-xl-refiner-1.0
    ├── 01.png
    ├── comparison.png
    ├── LICENSE.md
    ├── model_index.json
    ├── pipeline.png
    ├── README.md
    ├── scheduler
    │   └── scheduler_config.json
    ├── sd_xl_refiner_1.0_0.9vae.safetensors
    ├── sd_xl_refiner_1.0.safetensors
    ├── text_encoder_2
    │   ├── config.json
    │   ├── model.fp16.safetensors
    │   └── model.safetensors
    ├── tokenizer_2
    │   ├── merges.txt
    │   ├── special_tokens_map.json
    │   ├── tokenizer_config.json
    │   └── vocab.json
    ├── unet
    │   ├── config.json
    │   ├── diffusion_pytorch_model.fp16.safetensors
    │   └── diffusion_pytorch_model.safetensors
    ├── vae
    │   ├── config.json
    │   ├── diffusion_pytorch_model.fp16.safetensors
    │   └── diffusion_pytorch_model.safetensors
    └── vae_1_0
        ├── config.json
        ├── diffusion_pytorch_model.fp16.safetensors
        └── diffusion_pytorch_model.safetensors

源码仓库及问题反馈

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值