video / RUN.md
recoilme's picture
Upload folder using huggingface_hub
fb1ae50 verified
|
Raw
History Blame Contribute Delete
3.37 kB
# RUN — как запускать генерацию
## Быстрый старт
```bash
cd /home/ubuntu/video
CUDA_VISIBLE_DEVICES=0 python3 generate.py \
--pose drive.mp4 \
--ref dealer/ \
-o output.mp4 \
--width 832 --height 480 \
--steps 6 --shift 5 \
--lora "lightx2v_I2V_14B_480p_cfg_step_distill_rank64_bf16.safetensors" \
--lora-strength 0.8 \
--fps 16 --mask \
--positive "The person dances and gestures in a studio" \
--negative ""
```
Время: ~1 мин SAM3-маски (только первый раз, дальше кэш) + ~1 мин загрузка моделей + ~1 мин генерация (81 кадр, 6 шагов).
## Обязательные параметры (критичные!)
| Параметр | Значение | Почему |
|---|---|---|
| `--shift` | 5 | Без ModelSamplingSD3 shift — мыльное пятно вместо видео |
| `--sampler` | euler (default) | Эталон из workflow автора |
| `--scheduler` | simple (default) | Эталон из workflow автора |
| `--steps` | 6 (default) | С distill-LoRA хватает; 20 без LoRA — хуже |
| `--lora` | lightx2v...rank64 | Distill LoRA, включает cfg=1 + мало шагов |
| `--lora-strength` | 0.8 | Как в workflow автора |
| `--negative` | "" | У автора пустой |
## Ключевые флаги
- `--ref` — файл ИЛИ директория. Директория = мультиреференс (первый по алфавиту = основной, остальные = доп. виды). Нативная поддержка SCAIL-2, до N изображений.
- `--mask` — SAM3-маски (pose_video_mask + reference_image_mask). Кэшируются в `./mask_cache/` по хэшу входных файлов. Повторный прогон — маски из кэша.
- `--replacement-mode` — режим замены (маски: белый фон для pose, чёрный для ref). С портретными рефами пока даёт мусор — см. NOTES.md.
- `--chunk-length 81 --overlap 5` — для видео >81 кадра идёт auto-extend чанками.
- `--max-frames N` — обрезать входное видео.
- `--seed` — для воспроизводимости. Внутри чанков seed инкрементируется.
## Типичные проблемы
- **Мыльное пятно** → забыл `--shift 5` или LoRA.
- **OOM при масках** → уже починено (inference_mode в masks.py); если повторится — не грузить ничего до SAM3.
- **Персона по центру вместо позиции из видео** → известная проблема animation mode, см. NOTES.md.
- GPU: работаем только на `cuda:0`. GPU 2–6 заняты чужой тренировкой (train-babka.py) — НЕ ТРОГАТЬ.
## Файлы проекта
- `generate.py` — основной скрипт (загрузка моделей → маски → генерация → mp4)
- `masks.py` — SAM3-маски с кэшем (single-person, max_objects=1)
- `composite.py` — crop-around-person + composite-back (написан, ещё НЕ подключён)
- `mask_cache/` — кэш масок (.pt)