File size: 6,123 Bytes
b934f92
 
dbd33df
 
b934f92
 
 
dbd33df
 
e6a0994
 
 
96a9a78
b934f92
 
dbd33df
b934f92
646ddc7
 
87f4ce8
 
 
 
 
646ddc7
8fd6287
 
87f4ce8
646ddc7
 
 
 
87f4ce8
 
 
646ddc7
87f4ce8
646ddc7
 
 
 
 
 
4768770
87f4ce8
646ddc7
 
 
87f4ce8
8fd6287
87f4ce8
 
 
 
4768770
 
 
 
 
 
 
646ddc7
 
 
b934f92
 
c9faf95
b934f92
 
dbd33df
 
 
87f4ce8
58a1075
dbd33df
 
5c0d187
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
123
124
125
126
127
128
129
130
131
132
133
---
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月14日

さらにnijijourneyの画像1000枚ほどを目で見てアニメやイラスト風で良いもの選んで学習させました。

以下に何をやったか記録しますが、何が効いているのかわかりません。

以下にハイパーパラメータを記載しますが、その後[v11](https://civitai.com/models/120452?modelVersionId=135754)と[sd-webui-supermerger](https://github.com/hako-mikan/sd-webui-supermerger)階層マージ(block_lrに近い絵が良さそうな比率)をしているため一度で仕上がりませんでした。

最後に[blur](https://civitai.com/models/120624)を-0.05ほど、[LECO](https://github.com/p1atdev/LECO)で作ったanimeを1でLoRAマージ仕上げました。

| ハイパーパラメータ       | 値                                   |
|-----------------------|-------------------------------------|
| GPU                   | RTX3090 24GB                        |
| optimizer_type        | PagedLion8bit                       |
| optimizer_args        | weight_decay=0.01, betas=.9,.999    |
| block_lr              | 0,1e-08,1e-08,1e-08,1e-08,1e-07,1e-07,1e-07,1e-06,1e-06,1e-05,1e-05,1e-05,1e-06,1e-06,1e-07,1e-07,1e-07,1e-08,1e-08,1e-08,1e-08,0 |
| lr_scheduler          | cosine                              |
| lr_warmup_steps       | 100                                 |
| 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            | 12                                  |
| enable_bucket         | true                                |
| resolution            | [1024,1024]                         |

- 2023年8月11日

前回のnijijourneyの画像を混ぜて12000枚で学習しました。

オプティマイザはLion(4e-06, cosine, weight_decay=0.015, betas=.9,.999)でした。


- 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)で以下のパラメータで画像生成します。

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

Prompt: 
```
masterpiece, best quality, high quality, absurdres, 1girl, flower
```
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)