README.md 3.63 KB
Newer Older
dengjb's avatar
dengjb committed
1
# ImageGenerate by paddle 
dengjb's avatar
dengjb committed
2
3
4
5
6
7
8
## 论文
`High-Resolution Image Synthesis with Latent Diffusion Models`<br>
[论文地址](https://arxiv.org/abs/2112.10752)  <br>
`Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search`<br>
[论文地址](https://arxiv.org/abs/1901.07261)  <br>
`An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion`<br>
[论文地址](https://arxiv.org/abs/2208.01618)  <br>
dengjb's avatar
dengjb committed
9

dengjb's avatar
dengjb committed
10
11
## 模型结构
文生图、图生图使用风格化生成模型[MoososCap/NOVEL-MODEL],核心网络为Unet,前处理网络包含text_encoder,tokenizer等。
dengjb's avatar
dengjb committed
12

dengjb's avatar
dengjb committed
13
14
15
 | stabele-Diffusion网络结构  | 超分模型网络结构  | 
 | :----: | :-----: |
 ![模型图](./resources/pic_readme/ldms.png) | ![模型图](./resources/pic_readme/falsr_network.png)   
dengjb's avatar
dengjb committed
16

dengjb's avatar
dengjb committed
17
18
19
## 算法原理
stable diffusion 对文本进行处理并进行编码生成文本向量,对初始化噪声图片添加噪声并迭代T次通过VAE_decoder网络生成最终图片
![img](./resources/pic_readme/text2img.png)
dengjb's avatar
dengjb committed
20

dengjb's avatar
dengjb committed
21
22
23
24
25
26
27
28
29
30
31
32
33
## 环境配置
### Docker(方法一)
此处提供[光源](https://www.sourcefind.cn/#/service-details)拉取docker镜像的地址与使用步骤
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/paddlepaddle:2.4.2-centos7.6-dtk-23.04-py39-latest 
docker run --shm-size 16g --network=host --name=image_generate_paddle --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/imagegenerate_paddle:/home/imagegenerate_paddle -it <Your Image ID> bash
```
### Dockerfile(方法二)
此处提供dockerfile的使用方法
```
cd ./docker
docker build --no-cache -t imagegenerate_paddle:latest .
docker run --shm-size 16g --network=host --name=image_generate_paddle --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/imagegenerate_paddle:/home/imagegenerate_paddle -it imagegenerate_paddle:latest bash
dengjb's avatar
dengjb committed
34

dengjb's avatar
dengjb committed
35
36
37
```
### Anaconda(方法三)
此处提供本地配置、编译的详细步骤,例如:
dengjb's avatar
dengjb committed
38

dengjb's avatar
dengjb committed
39
40
41
42
43
44
45
关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.hpccube.com/tool/)开发者社区下载安装。
```
DTK驱动:dtk23.04
python:python3.8
paddle:2.4.2
```
`Tips:以上dtk驱动、python、paddle等DCU相关工具版本需要严格一一对应`
dengjb's avatar
dengjb committed
46

dengjb's avatar
dengjb committed
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
其它非深度学习库参照requirements.txt安装:
```
pip install -r requirements.txt
```
## 数据集
`未公开训练数据集`
- 基于小数据集的定制化训练数据集
- 地址:./resources/Alices/*
```
./resources/Alices
                | 
                1666360027.7809527_SEED_3534839969.png
                1666360416.8263636_SEED_4285104386.png
                .....
```
## 训练
该模型提供少数据基于预训练的模型的训练方法。
- 使用notebook运行main.ipynb
- 根据提示步骤运行文生图定制化训练代码
## 推理
- 使用notebook运行main.ipynb
- 根据提示步骤运行推理代码
## 测试
- 测试环境、功能是否够能够正常
```python
python varify.py 
```

## result
dengjb's avatar
dengjb committed
76
算法效果图
dengjb's avatar
dengjb committed
77
78
 | 文生图  | 图生图  | 定制化训练 |
 | :----: | :-----: | :------:  |
dengjb's avatar
dengjb committed
79
 ![文生图](./resources/pic_readme/txt2img.png)  | ![图生图](./resources/pic_readme/img2img.png) | ![定制化训练](./resources/pic_readme/train.png)   
dengjb's avatar
dengjb committed
80

dengjb's avatar
dengjb committed
81
82
83
84
85
86
87
88
89
## 应用场景
### 算法类别
`NLP`
### 热点应用行业
`广媒,设计,其他`
## 源码仓库及问题反馈
- https://developer.hpccube.com/codes/modelzoo/imagegenerate_paddle
## 参考资料
- https://github.com/PaddlePaddle/PaddleNLP/tree/develop/ppdiffusers
dengjb's avatar
dengjb committed
90
- https://aistudio.baidu.com/aistudio/projectdetail/4905623