video / RUN.md
recoilme's picture
Upload folder using huggingface_hub
fb1ae50 verified
|
Raw
History Blame Contribute Delete
3.37 kB

RUN — как запускать генерацию

Быстрый старт

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)