#!/bin/bash

# Experiment configuration for inference
DATASET_TYPE="random-80-10-10"       # Options: canonical-symmetry-grouping, random-80-10-10
REPRESENTATION_MODE="nl"
INSTRUCT_MODEL="True"
RESULTS_DIR="/mnt/shared/stlm-logic/results_full_inference_updated/best_move_from_legal"

# Set the model checkpoint path (update as needed)

CHECKPOINTS=(
    # RANDOM DATASET
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-2550"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-2700"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-900"


    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2550"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2700"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-900"

    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2550"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2700"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-900"

    # CANONICAL SYMMETRY

    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"

    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"

    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6_best_move_from_legal//Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"
)

# # Extract the model mark from the parent directory of the checkpoint and append the checkpoint name.
# # This will be used as the name of the log file 
# MODEL_MARK="$(basename "$(dirname "$MODEL_CHECKPOINT")")-$(basename "$MODEL_CHECKPOINT")"
# echo "Model mark: $MODEL_MARK"



# Specify the test dataset path based on dataset type
# if [[ "$DATASET_TYPE" == "canonical-symmetry-grouping" ]]; then
#     TEST_PATH="/mnt/data/data/stlm-logic/datasets/tictactoe_test.json"
# elif [[ "$DATASET_TYPE" == "random-80-10-10" ]]; then
#     TEST_PATH="/mnt/data/data/stlm-logic/datasets/random_test_dataset_0.8_0.1_0.1.json"
# else
#     echo "Invalid DATASET_TYPE selected!"
#     exit 1
# fi

# Loop over each checkpoint in the array.
for MODEL_CHECKPOINT in "${CHECKPOINTS[@]}"; do

    # Infer the DATASET_TYPE from the checkpoint path. This is because the checkpoint path contains the dataset type.
    # We dont want to fix it in the script so we can run inference for different dataset types together
    if [[ "$MODEL_CHECKPOINT" == *"random"* ]]; then
        DATASET_TYPE="random-80-10-10"
    elif [[ "$MODEL_CHECKPOINT" == *"canconical-symmetry-grouping"* ]]; then
        DATASET_TYPE="canonical-symmetry-grouping"
    else
        echo "Invalid checkpoint path!"
        exit 1
    fi

    if [[ "$DATASET_TYPE" == "canonical-symmetry-grouping" ]]; then
        TEST_PATH="/mnt/shared/data/stlm-logic/datasets/tictactoe_test.json"
    elif [[ "$DATASET_TYPE" == "random-80-10-10" ]]; then
        TEST_PATH="/mnt/shared/data/stlm-logic/datasets/random_test_dataset_0.8_0.1_0.1.json"
    else
        echo "Invalid DATASET_TYPE selected!"
        exit 1
    fi

    
    # Compute the model mark from the parent directory of the checkpoint and append the checkpoint name.
    MODEL_MARK="$(basename "$(dirname "$MODEL_CHECKPOINT")")-$(basename "$MODEL_CHECKPOINT")"
    echo "Running inference for Model mark: $MODEL_MARK and inferred dataset type: $DATASET_TYPE"
    
    # Run the inference script using the provided parameters.
    python scripts/python/grpo_inference.py \
      --model_checkpoint "$MODEL_CHECKPOINT" \
      --test_dataset_path "$TEST_PATH" \
      --representation_mode "$REPRESENTATION_MODE" \
      --instruct_model "$INSTRUCT_MODEL" \
      --dataset_splits "test" \
      --batch_size 8 \
      --model_mark "$MODEL_MARK"\
      --results_folder "$RESULTS_DIR" \
      --experiment_mode "best_move" \
      --save_individual_outputs
    
    echo "Finished inference for Model mark: $MODEL_MARK"
      
    # Optionally, include a sleep interval between runs if needed.
    # sleep 2
    echo "===================================================="
done
