Instructions to use AiArtLab/ra with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use AiArtLab/ra with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("AiArtLab/ra", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
Ra fp16 (step 652000)
Browse files- run_sdxs.sh +53 -0
- 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",
|