File size: 2,724 Bytes
42b1c7e
 
ac50626
42b1c7e
 
 
 
 
 
 
 
 
 
 
 
646b449
 
 
 
 
 
 
 
 
 
 
 
 
a0fb3e7
 
 
 
646b449
42b1c7e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf83e0b
42b1c7e
 
 
 
 
 
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
# frog train benchmark

ハローカエル(スペルミスに気を付けよう)

## 概要

- kohya train_networkのベンチです
- サンプルのカエルを使います
  - https://note.com/kohya_ss/n/nb20c5187e15a
  - https://note.com/api/v2/attachments/download/e3cd9aa39e600cac51e2022eaa01a931
  - 中身をこのリポジトリにコピーしてあります
- モデルはSDv1.5を使います
  - https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors
  - pruneしたファイルを用意してあります

## 実行

- Windows
  - バッチをダウンロードして任意のディレクトリ(日本語やスペースが無いと良い)に置いて実行します
  - https://huggingface.co/aka7774/frog_bench/resolve/main/frog_bench.bat
  - sd-scriptsやvenvのインストールが行われます
  - SDv1.5モデルのダウンロードが行われます
  - 学習が行われます
  - 推論が行われます sd-scripts/txt2img/ に画像を保存します
  - 学習(accelerateコマンド)の所要時間が表示されます
    - sd-scripts/result.txt にも保存されます
- Windows以外もしくは環境構築済みの場合
  - サンプル通りに学習を実行してaccelerateコマンドにかかったtimeを計測してください
- bitsandbytesでエラーが出る場合
  - --use-8bit-adamを外すといいかも
- VRAMの使用量がギリギリの場合
  - batch_sizeを下げたほうが速く終わることもあるかも

## 設定

バッチファイルを編集することでいくつかの設定が出来ます。

- bypass Install CUDA Toolkit
  - pytorchのlibにPATHを通すことでCUDA Toolkitのインストールを省略する
- Path to
  - PythonとgitにPATHが通っていない時にフルパスで指定する
  - Pythonとgit自体のインストールは別途必要
- VERS
  - 1はkohya推奨バージョン(古い)
  - 2は1111推奨バージョン(新しい) xformersが動かない可能性がある
- MODE
  - 複数回実行したい時にインストールや学習を飛ばす
- BATCH_SIZE
  - VRAMが10GB未満の時に減らす
 
# 変更点

- num_cpu_threads_per_process(未変更)
  - 1のほうがいいらしいけどサンプルが4なのでそのまま
- learning_rate(未変更)
  - 途中で仕様変更があったので1桁減らしたほうがいいらしいけどそのまま
- inference(gen_img_diffusers.py)
  - 公式のオプションがbf16だったけどA100でしか動かないというエラーが出るのでfp16に変えてあります
  - interactiveしなくて済むようにした
- accelerate config
  - accelerate launchに引数を追加することで割愛しています