id-align / scripts /video /eval /activitynet_eval.sh
zooblastlbz's picture
Upload folder using huggingface_hub
a9e1e1a verified
#!/bin/bash
ROOT_DIR="root to LLaVA-NeXT-Video"
if [ ! -e $ROOT_DIR ]; then
echo "The root dir does not exist. Exiting the script."
exit 1
fi
cd $ROOT_DIR
export PYTHONWARNINGS=ignore
export TOKENIZERS_PARALLELISM=false
CUDA_VISIBLE_DEVICES='0,1,2,3,4,5,6,7'
gpu_list="${CUDA_VISIBLE_DEVICES}"
GPULIST=(${(s:,:)gpu_list})
CHUNKS=${#GPULIST[@]}
echo "Using $CHUNKS GPUs"
CKPT=$1
CONV_MODE=$2
FRAMES=$3
OVERWRITE=$4
PREDEFINED_CONFIGURE=$5
mm_spatial_pool_stride=$6
MODEL_MAX_LENGTH=${7:-0}
CKPT=$1
CONV_MODE=$2
FRAMES=$3
POOL_STRIDE=$4
OVERWRITE=$5
CHUNKS=${6:-1}
PATCHIFY=False
OPENAIKEY="INPUT YOUR OPENAI API"
if [ "$OVERWRITE" = False ]; then
SAVE_DIR=$(basename $CKPT)_${CONV_MODE}_frames_${FRAMES}_stride_${POOL_STRIDE}_overwrite_${OVERWRITE}
else
SAVE_DIR=$(basename $CKPT)_${CONV_MODE}_frames_${FRAMES}_stride_${POOL_STRIDE}
fi
echo $SAVE_DIR
# for IDX in {1..$CHUNKS}; do
# GPU_ID=${GPULIST[$IDX]} # Note: Zsh arrays are 1-indexed by default
# # GPU_FREE=0
# # while [ $GPU_FREE -eq 0 ]; do
# # # Using nvidia-smi to get the memory usage of the GPU with ID $GPU_ID
# # # Parsing the output to extract the memory usage, and checking if it is "0"
# # MEM_USAGE=$(nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -i $GPU_ID | tr -d '[:space:]')
# # if [ "$MEM_USAGE" -eq 0 ]; then
# # GPU_FREE=1
# # echo "GPU $GPU_ID is free."
# # else
# # echo "GPU $GPU_ID is in use. Memory used: ${MEM_USAGE}MiB. Checking again in 100 seconds..."
# # sleep 100
# # fi
# # done
# echo "Running on GPU $GPU_ID"
# CUDA_VISIBLE_DEVICES=$GPU_ID python3 llavavid/eval/model_activitynet_qa.py \
# --model-path $CKPT \
# --video_dir ./data/llava_video/ActivityNet-QA/all_test \
# --gt_file_question ./data/llava_video/ActivityNet-QA/test_q.json \
# --gt_file_answers ./data/llava_videoActivityNet-QA/test_a.json \
# --output_dir ./work_dirs/eval_activitynet/$SAVE_DIR \
# --output_name pred \
# --num-chunks $CHUNKS \
# --chunk-idx $(($IDX - 1)) \
# --overwrite ${OVERWRITE} \
# --patchify_video_feature ${PATCHIFY} \
# --predefined_configure ${PREDEFINED_CONFIGURE} \
# --mm_spatial_pool_stride ${mm_spatial_pool_stride:-4} \
# --for_get_frames_num $FRAMES \
# --model-max-length ${MODEL_MAX_LENGTH:-0} \
# --conv-mode $CONV_MODE &
# done
# wait
python3 llava/eval/eval_activitynet_qa.py \
--pred_path ./work_dirs/eval_activitynet/$SAVE_DIR \
--output_dir ./work_dirs/eval_activitynet/$SAVE_DIR/results \
--output_json ./work_dirs/eval_activitynet/$SAVE_DIR/results.json \
--num_chunks $CHUNKS \
--api_key $OPENAIKEY \
# --num_tasks 16 \