CoolFace
Apppublic

BlueWaveSemi45/DramaboxCPU

sourceHugging Faceotherupdated 4mo agoView on Hugging Face
0likes
eval.sh62 linesDownload Raw Back to scripts
1#!/bin/bash2# Run evaluation set3# Usage: bash scripts/eval.sh --lora path/to/lora.safetensors --eval expressive --output eval_output/4 5SCRIPT_DIR="$(cd "$(dirname "$0")/.." && pwd)"6LORA=""7EVAL_TYPE="short"8OUTPUT_DIR="eval_output"9GPUS=810 11while [[ $# -gt 0 ]]; do12  case $1 in13    --lora) LORA="$2"; shift 2;;14    --eval) EVAL_TYPE="$2"; shift 2;;15    --output) OUTPUT_DIR="$2"; shift 2;;16    --gpus) GPUS="$2"; shift 2;;17    *) echo "Unknown arg: $1"; exit 1;;18  esac19done20 21case $EVAL_TYPE in22  short) CONFIG="$SCRIPT_DIR/evals/eval_short.txt";;23  long) CONFIG="$SCRIPT_DIR/evals/eval_long.txt";;24  stress) CONFIG="$SCRIPT_DIR/evals/eval_stress.txt";;25  expressive) CONFIG="$SCRIPT_DIR/evals/eval_expressive.txt";;26  multilang) CONFIG="$SCRIPT_DIR/evals/eval_multilang.txt";;27  *) echo "Unknown eval type: $EVAL_TYPE (use: short, long, stress, expressive, multilang)"; exit 1;;28esac29 30mkdir -p "$OUTPUT_DIR"/{generated,refs}31 32gpu=033mapfile -t LINES < <(grep -v '^#' "$CONFIG" | grep '|')34 35for line in "${LINES[@]}"; do36  name=$(echo "$line" | cut -d'|' -f1 | xargs)37  ref=$(echo "$line" | cut -d'|' -f2 | xargs)38  prompt=$(echo "$line" | cut -d'|' -f3-)39  prompt="${prompt## }"40  [ -z "$name" ] && continue41 42  [[ "$ref" == *.mp3 ]] || [[ "$ref" == *.flac ]] && \43    ffmpeg -y -i "$ref" "$OUTPUT_DIR/refs/${name}.wav" -loglevel quiet 2>/dev/null || \44    cp "$ref" "$OUTPUT_DIR/refs/${name}.wav" 2>/dev/null45 46  LORA_FLAG=""47  [ -n "$LORA" ] && LORA_FLAG="--lora $LORA"48 49  CUDA_VISIBLE_DEVICES=$gpu python "$SCRIPT_DIR/src/inference.py" \50    --checkpoint ltx-2.3-22b-dev-audio-only.safetensors \51    --full-checkpoint ltx-2.3-22b-dev.safetensors \52    $LORA_FLAG --voice-sample "$ref" --prompt "$prompt" \53    --output "$OUTPUT_DIR/generated/${name}.wav" \54    --cfg-scale 2.5 --stg-scale 1.5 --rescale-scale 0 --modality-scale 1 \55    --duration-multiplier 1.1 --seed 42 2>&1 | grep "Output" &56 57  gpu=$(( (gpu + 1) % GPUS ))58  if [ $gpu -eq 0 ]; then wait; fi59done60wait61echo "Eval done: $(ls "$OUTPUT_DIR/generated/"*.wav 2>/dev/null | wc -l) samples in $OUTPUT_DIR/"62