README.md 3.31 KB
Newer Older
wangwei990215's avatar
wangwei990215 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Stable Diffusion

## 论文
`DENOISING DIFFUSION IMPLICIT MODELS`
- https://arxiv.org/pdf/2010.02502

## 模型结构
通过串联或更通用的交叉注意机制来调节LDM

![img](./images/model-structure.jpg)
## 算法原理
通过将图像形成过程分解为去噪自动编码器的顺序应用,扩散模型(DM)在图像数据和其他数据上实现了最先进的合成结果。为了在有限的计算资源上进行DM训练,同时保持其质量和灵活性,我们将其应用于强大的预训练自动编码器的潜在空间。在这种表示上训练扩散模型首次能够在降低复杂性和空间下采样之间达到接近最佳的点,提高了视觉逼真度。通过在模型架构中引入跨注意力层,将扩散模型变成了强大而灵活的生成器,用于文本或边界框等一般条件输入,高分辨率合成以卷积方式成为可能。我们的潜在扩散模型(LDM)在各种任务上实现了极具竞争力的性能,包括无条件图像生成、修复和超分辨率,同时与基于像素的DM相比,显著降低了计算要求。

![img](./images/algorithm.jpg)

## 环境配置

wangwei990215's avatar
wangwei990215 committed
18
### Docker(方法一):
wangwei990215's avatar
wangwei990215 committed
19
20
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.8-dtk24.04.3-ubuntu20.04
wangwei990215's avatar
wangwei990215 committed
21
docker run --shm-size 10g --network=host --name=stablediffusion_v2-1 --privileged --device=/dev/kfd --device=/dev/mkfd --device=/dev/dri  -v /opt/hyhal:/opt/hyhal --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -it image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.8-dtk24.04.3-ubuntu20.04 bash
wangwei990215's avatar
wangwei990215 committed
22
23
24
25
26
27

cd diffusers-0.27.0
python setup.py install
cd examples/text_to_image
pip install -r requirements.txt
```
wangwei990215's avatar
wangwei990215 committed
28
29
30
31
32
### Dockerfile(方法二)
此处提供dockerfile的使用方法:<br>
```
docker build --no-cache -t stablediffusion_v2:latest
docker run -it -v /path/your_code_data/:/path/your_code_data/ -v /opt/hyhal:/opt/hyhal:ro --shm-size=32G --privileged=true --device=/dev/kfd --device=/dev/dri/ --group-add video --name docker_name imageID bash
wangwei990215's avatar
wangwei990215 committed
33

wangwei990215's avatar
wangwei990215 committed
34
```
wangwei990215's avatar
wangwei990215 committed
35
36
37
38
39
40
41
42
43
44
45
### Anaconda(方法三):
此处提供本地配置、编译的详细步骤,例如:<br>
关于本项目DCU显卡所需的特殊深度学习库可从[光合开发者社区](https://developer.sourcefind.cn/)下载安装
```
DTK:dtk24.04.3
python:3.10
torch:2.1.0
diffusers和其他深度学习库(requirements)可以参考方法一进行安装。

```
tips:以上dtk驱动、python、torch等DCU相关工具需要严格一一对应。
wangwei990215's avatar
wangwei990215 committed
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
## 数据集
pokemon-blip-captions <br>
可以从以下网址下载:
- http://113.200.138.88:18080/aidatasets/pokemon-blip-captions

## 训练

### 下载Stable Diffusion v2.1模型
```
模型文件可以从modelscope下载:
- https://www.modelscope.cn/models/AI-ModelScope/stable-diffusion-2-1-base

```

### 单机单卡运行:
```
cd examples/text_to_image
```
运行diffusers示例:
```
bash run.sh
```
### 单机多卡运行:
```
cd examples/text_to_image
```
运行diffusers示例(以四卡为例):
```
bash run-4.sh
```


## result
![img](./images/result.jpg)

### 精度


## 应用场景
### 算法类别
`以文生图`

### 热点应用行业
`绘画,动漫,媒体`

## 源码仓库及问题反馈
wangwei990215's avatar
wangwei990215 committed
92
https://developer.sourcefind.cn/codes/modelzoo/stable_diffusion_diffusers/-/tree/main
wangwei990215's avatar
wangwei990215 committed
93
94
95

## 参考资料
https://github.com/Stability-AI/stablediffusion