recoilme commited on
Commit
ffe6bac
·
verified ·
1 Parent(s): 8096951

Ra fp16 (step 652000)

Browse files
Files changed (2) hide show
  1. run_sdxs.sh +53 -0
  2. src/publish.py +1 -1
run_sdxs.sh ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ # Продолжение sdxs-ветки на TFRecord-шардах i1 — одной командой.
3
+ #
4
+ # bash run_sdxs.sh /tmp/hf/tst 10 # 10 эпох по всем шардам в папке
5
+ # STEP=36000 INIT=transformer_sdxs bash run_sdxs.sh /tmp/hf/tst 10
6
+ # bash run_sdxs.sh /tmp/hf/tst 10 --fg # в переднем плане (лог в консоль)
7
+ #
8
+ # Что уже зашито (чтобы ничего не помнить):
9
+ # --vae sdxs VAE из vae_sdxs/ (асимметричный, декодер отдаёт 2x), хвоста нет,
10
+ # пиксельный лосс выключен автоматически;
11
+ # --init по умолчанию transformer_sdxs/ (веса sdxs-ветки в формате safetensors);
12
+ # --step стартовый шаг для расписания lr (по умолчанию 5000 — как в экспорте);
13
+ # --batch 16 (переопределяется BATCH=8, если мало VRAM) --prefetch 256 --workers 8 --sample-every 2000 --text-len 192 --size 256;
14
+ # lr 1e-4 → 1e-5 по cosine за весь бюджет, без прогрева (продолжаем обученные веса);
15
+ # эпоха = реальное число картинок в папке (считается по заголовкам шардов).
16
+ set -euo pipefail
17
+ cd "$(dirname "$0")"
18
+
19
+ DATA=${1:?укажи папку с TFRecord-шардами, например /tmp/hf/tst}
20
+ EPOCHS=${2:-10}
21
+ INIT=${INIT:-transformer_sdxs}
22
+ STEP=${STEP:-5000}
23
+ OUT=${OUT:-tmp/sdxs}
24
+ BATCH=${BATCH:-16}
25
+ LOG=${LOG:-sdxs_train.log}
26
+ FG=0
27
+ for a in "$@"; do [ "$a" = "--fg" ] && FG=1; done
28
+
29
+ [ -e "$INIT" ] || { echo "нет стартовых весов: $INIT"; echo "скопируй папку transformer_sdxs/ (или .pt-чекпойнт и INIT=путь)"; exit 1; }
30
+ [ -d "$DATA" ] || { echo "нет папки с шардами: $DATA"; exit 1; }
31
+
32
+ CMD=(python3 src/train.py
33
+ --vae sdxs --init "$INIT" --step "$STEP"
34
+ --tfrecord "$DATA" --epochs "$EPOCHS"
35
+ --batch "$BATCH" --size 256 --text-len 192 --prefetch 256 --workers 8
36
+ --lr 1e-4 --lr-min 1e-5 --lr-warmup 0
37
+ --sample-every 2000 --save-every 4000 --log-every 200
38
+ --out "$OUT")
39
+
40
+ echo "shard'ов в папке: $(ls -1 "$DATA"/*.tfrecord-* 2>/dev/null | wc -l)"
41
+ echo "стартовые веса: $INIT (шаг $STEP)"
42
+ echo "бюджет: $EPOCHS эпох"
43
+ echo "лог: $LOG"
44
+ echo "команда: ${CMD[*]}"
45
+ echo
46
+
47
+ if [ "$FG" = "1" ]; then
48
+ "${CMD[@]}"
49
+ else
50
+ setsid nohup "${CMD[@]}" < /dev/null > "$LOG" 2>&1 &
51
+ sleep 20
52
+ echo "запущено в фоне. смотреть: tail -f $LOG"
53
+ fi
src/publish.py CHANGED
@@ -19,7 +19,7 @@ from safetensors.torch import load_file, save_file
19
  ROOT = Path(__file__).resolve().parent.parent
20
  REPO_ID = "AiArtLab/Ra"
21
 
22
- COPY = ["README.md", "requirements.txt", ".gitattributes", ".gitignore", "docs", "src",
23
  "vae/config.json", "vae/LICENSE", "vae/README.md", "vae/.gitattributes", "vae/example.py",
24
  "vae/ae", "text_encoder/config.json", "text_encoder/tokenizer.json",
25
  "text_encoder/tokenizer_config.json", "text_encoder/special_tokens_map.json",
 
19
  ROOT = Path(__file__).resolve().parent.parent
20
  REPO_ID = "AiArtLab/Ra"
21
 
22
+ COPY = ["README.md", "requirements.txt", "run_sdxs.sh", ".gitattributes", ".gitignore", "docs", "src",
23
  "vae/config.json", "vae/LICENSE", "vae/README.md", "vae/.gitattributes", "vae/example.py",
24
  "vae/ae", "text_encoder/config.json", "text_encoder/tokenizer.json",
25
  "text_encoder/tokenizer_config.json", "text_encoder/special_tokens_map.json",