File size: 5,358 Bytes
b934f92
 
dbd33df
 
b934f92
 
 
dbd33df
 
e6a0994
 
 
96a9a78
b934f92
 
dbd33df
b934f92
646ddc7
 
4768770
 
646ddc7
4768770
 
646ddc7
 
 
 
 
 
4768770
646ddc7
 
 
 
 
 
 
4768770
646ddc7
 
 
 
4768770
 
 
 
 
 
 
646ddc7
 
 
b934f92
 
c9faf95
b934f92
 
dbd33df
 
 
58a1075
 
dbd33df
 
4768770
dbd33df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b934f92
 
9aef749
b934f92
 
dbd33df
b934f92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
---
license: openrail++
thumbnail:  >-
  https://huggingface.co/inu-ai/niji-diffusion-xl-base-1.0/images/thumbnail.png
tags:
  - text-to-image
  - stable-diffusion
  - safetensors
  - diffusers
inference: true
widget:
  - text: >-
      best quality, high quality, absurdres, 1girl
datasets:
  - p1atdev/niji-v5
library_name: diffusers
---
# 更新履歴

- 2023年8月11日
前回のnijijourneyの画像を混ぜて12000枚で学習しました。

以下、最後に行ったフルファインチューニング時のパラメータですが、そこに至るまでいろいろ試しているため以下のパラメータでやると失敗するかもしれません。
学習率は4e-7(constant)から4e-06(cosine)の間あたりが良いのかなと思います。

| ハイパーパラメータ       | 値                                   |
|-----------------------|-------------------------------------|
| GPU                   | RTX3090 24GB                        |
| optimizer_type        | Lion                                |
| optimizer_args        | weight_decay=0.015, betas=.9,.999   |
| learning_rate         | 4e-6                                |
| lr_scheduler          | cosine                              |
| gradient_checkpointing|                                     |
| mixed_precision       | bf16                                |
| full_bf16             |                                     |
| max_token_length      | 225                                 |
| min_snr_gamma         | 5                                   |
| noise_offset          | 0.0357                              |
| max_train_epochs      | 3                                   |
| batch_size            | 10                                  |
| enable_bucket         | true                                |
| resolution            | [1024,1024]                         |


- 2023年8月7日

nijijourneyの画像4500枚ぐらいでフルファインチューニングしました。fp16で壊れないVAEに取り替えました。

学習率1e-07が低すぎたようで絵があまり変化しませんでした。次回は学習率を上げようと思います。

- 2023年8月1日

nijijourneyの画像100枚ぐらいでLoRAファインチューニングなどをしました。

# モデルの説明
アニメ調に寄せた「[SDXL(stable-diffusion-xl-base-1.0)](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0)」モデルです。内容は「[niji-v5](https://huggingface.co/datasets/p1atdev/niji-v5)」データセットでLoRAファインチューニングしてマージしたモデルです。

# 使用例

[niji-diffusion-xl-base-1.0.safetensors](https://huggingface.co/inu-ai/niji-diffusion-xl-base-1.0/resolve/main/niji-diffusion-xl-base-1.0.safetensors)と[stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)で以下のパラメータで画像生成します。

※100枚しか学習していないのでPromptに複数書くとnijiの絵じゃなくなります。Negative promptに複数書くのは大丈夫っぽいです。

Prompt: 
```
1girl, town
```
Negative prompt: 
```
worst quality, low quality, medium quality, deleted, lowres, comic, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, jpeg artifacts, signature, watermark, username, blurry
```

PNG info: 
```
Steps: 28, Sampler: Euler a, CFG scale: 7, Seed: 1, Size: 1536x1024, Model hash: 791d0c791e, Model: sd_xl_niji_1.0, Clip skip: 2, ENSD: 31337, Token merging ratio: 0.5, Eta: 0.67, Version: v1.5.1
```
![thumbnail](images/thumbnail.jpg)

Prompt: 
```
1girl
```
![thumbnail](images/1girl.jpg)
Prompt: 
```
1girl, tokyo
```
![thumbnail](images/1girl,%20tokyo.jpg)
Prompt: 
```
1girl, steampunk
```
![thumbnail](images/1girl,%20steampunk.jpg)
Prompt: 
```
1girl, fantasy
```
![thumbnail](images/1girl,%20fantasy.jpg)

# モデルの作り方
1. 「[かんたん☆コピー機学習法(きっと初級編)](https://note.com/2vxpswa7/n/n2d04527bf0bc)」を参考に、「[ぼかし(blur)](https://civitai.com/models/120624)」のLoRA DreamBoothをして、そのLoRAモデルをSDXLモデルにマイナスでマージします。
2. 1で作ったモデルに、niji-v5から背景や髪が詳細に描かれている絵などを100枚選びLoRAファインチューニングして、そのLoRAモデルをSDXLモデルにマージします。

# 今後のモデルの改善
LoRAモデルとして配布できるようにしたいです。
というのは、512dim(rank)で学習したらLoRAモデルが3GBのファイルサイズになってしまったため、今回はSDXLモデルにマージしています。

# 感想
うまく調整できず何度もやり直して大変でした。あとで作り方を動画にしたいです。

# 謝辞
モデル、学習データや学習ツールを作成および配布してくださった方々に心から感謝申し上げます。

# ライブラリ

- [sd-scripts](https://github.com/kohya-ss/sd-scripts/tree/sdxl) 4072f723c12822e2fa1b2e076cc1f90b8f4e30c9
- [bitsandbytes](https://github.com/jllllll/bitsandbytes-windows-webui) 0.39.1
- Pytorch 2.0.0+cu117
- xformers 0.0.19

# ライセンス
- [CreativeML Open RAIL++-M License](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/LICENSE.md)