Spaces:
Running on Zero
Running on Zero
File size: 2,220 Bytes
ddb382a | 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | @echo off
setlocal enabledelayedexpansion
set ARG_COUNT=0
if not "%~1"=="" set /a ARG_COUNT+=1
if not "%~2"=="" set /a ARG_COUNT+=1
if not "%~3"=="" set /a ARG_COUNT+=1
if not "%~4"=="" set /a ARG_COUNT+=1
if !ARG_COUNT! LSS 2 (
echo Usage: %~nx0 ^<video_folder_path^> ^<csv_path^> [save_path] [use-half]
exit /b 1
)
set "VIDEO_PATH=%~1"
set "CSV_PATH=%~2"
set "SAVE_PATH=%~3"
set "USE_HALF_FLAG=%~4"
if "!SAVE_PATH!"=="" (
set "SAVE_PATH=results\features"
)
set "DATASET_CONFIG=ThinkSound\configs\multimodal_dataset_demo.json"
set "MODEL_CONFIG=ThinkSound\configs\model_configs\thinksound.json"
if not exist results mkdir results
if not exist results\features mkdir results\features
if not exist "!SAVE_PATH!" mkdir "!SAVE_PATH!"
set "FIRST_VIDEO="
for %%f in ("!VIDEO_PATH!\*.mp4") do (
if not defined FIRST_VIDEO set "FIRST_VIDEO=%%~ff"
)
if not defined FIRST_VIDEO (
echo ❌ No .mp4 video file found in folder "!VIDEO_PATH!"
exit /b 1
)
echo First video found: !FIRST_VIDEO!
for /f %%i in ('ffprobe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "!FIRST_VIDEO!"') do set "DURATION=%%i"
for /f "tokens=1 delims=." %%a in ("!DURATION!") do set "DURATION_SEC=%%a"
echo Video duration: !DURATION_SEC! seconds
echo ⏳ Extracting features...
set "CMD=python extract_latents.py --root !VIDEO_PATH! --tsv_path !CSV_PATH! --save-dir results\features --duration_sec !DURATION_SEC!"
if /i "!USE_HALF_FLAG!"=="use-half" (
set "CMD=!CMD! --use_half"
)
echo Running: !CMD!
call !CMD!
if errorlevel 1 (
echo ❌ Feature extraction failed.
exit /b 3
)
echo ⏳ Running model inference...
set "CMD=python eval_batch.py --dataset-config !DATASET_CONFIG! --model-config !MODEL_CONFIG! --duration-sec !DURATION_SEC! --results-dir results\features --save-dir !SAVE_PATH!"
echo Running: !CMD!
call !CMD!
if errorlevel 1 (
echo ❌ Inference failed.
exit /b 4
)
for /f %%i in ('powershell -Command "Get-Date -Format MMdd"') do set "CURRENT_DATE=%%i"
set "AUDIO_PATH=!SAVE_PATH!\!CURRENT_DATE!_batch_size1"
echo ✅ Audio files saved in: !AUDIO_PATH!
endlocal
exit /b 0
|