File size: 1,506 Bytes
b726579
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env bash
# Cache de latentes e de text-encoder, SERIAL na mesma GPU.
# Paralelo entre as duas etapas piora ambas (medido no historico).
set -Eeuo pipefail
PIN=ede9ed9f769d605db32d37e32243d4c979f9eee3
: "${TRAINER_DIR:=/workspace/projects/musubi-tuner}"
: "${VENV:=/venv/main}"
: "${MODEL_DIR:=/workspace/models/MiniMax-H3}"
: "${DATASET_CONFIG:?caminho absoluto do TOML de CACHE}"
: "${TASK:=i2va}"
: "${CACHE_BATCH:=24}"
: "${CACHE_WORKERS:=16}"
[[ "$TASK" == i2va || "$TASK" == fl2va ]] || { echo "use i2va ou fl2va revisado" >&2; exit 2; }
source "$VENV/bin/activate"
cd "$TRAINER_DIR"
[[ "$(git rev-parse HEAD)" == "$PIN" ]] || { echo "pin do trainer errado" >&2; exit 2; }
[[ -s "$DATASET_CONFIG" ]] || { echo "config ausente" >&2; exit 2; }

echo "=== [1/2] latentes ==="
python src/musubi_tuner/minimax_h3_cache_latents.py \
  --dataset_config "$DATASET_CONFIG" \
  --vae "$MODEL_DIR/vae/minimax_h3_video_vae_fp16.safetensors" \
  --device cuda --batch_size "$CACHE_BATCH" --num_workers "$CACHE_WORKERS" \
  --skip_existing --keep_cache

echo "=== [2/2] text encoder ==="
python src/musubi_tuner/minimax_h3_cache_text_encoder_outputs.py \
  --dataset_config "$DATASET_CONFIG" \
  --text_encoder "$MODEL_DIR/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors" \
  --text_encoder_quantization nvfp4_awq --task "$TASK" --cache_guidance_empty \
  --device cuda --batch_size "$CACHE_BATCH" --num_workers "$CACHE_WORKERS" \
  --skip_existing --keep_cache
echo "=== cache concluido ==="