#!/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_ascii_board/legal_move"

# Set the model checkpoint path (update as needed)
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/checkpoints/MBZUAI-LaMini-GPT-124M_random-80-10-10_legal_move_nl_grpo-nl-expt-final/checkpoint-5000"
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/checkpoints/meta-llama-Llama-3.2-1B-Instruct_random-80-10-10_legal_move_nl_grpo-nl-expt-final/checkpoint-400"
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/checkpoints/MBZUAI-LaMini-GPT-774M_random-80-10-10_legal_move_nl_grpo-nl-expt-final/checkpoint-600"

# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final/checkpoint-1200"

# Fixed prompts
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1400"
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_random-80-10-10_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2400"


# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_random-80-10-10_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2800"
# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-1.5B-Instruct-llamafied_random-80-10-10_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2200"

# MODEL_CHECKPOINT="/mnt/data/data/stlm-logic/updated-checkpoints/MBZUAI-LaMini-GPT-774M_random-80-10-10_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1400"

# Define an array of checkpoint paths.
# Replace or add paths as needed.
# CHECKPOINTS=(
#     # Meta llama 3.1 8b chat template fixed canonical
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-200"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-400"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-600"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-800"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1000"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1200"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1400"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1600"
#   # "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1800"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2000"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2200"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2400"
# #   "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2600"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/llamafy-Qwen-Qwen2.5-0.5B-Instruct-llamafied_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2405"
# #   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-fix-chat-template/checkpoint-200"
# )

# CHECKPOINTS=(
    # Meta llama 3.1 8b chat template fixed canonical
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-200"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-400"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-600"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-800"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1000"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1200"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1400"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1600"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-1800"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2000"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2200"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2400"
#   "/mnt/data/data/stlm-logic/updated-checkpoints/meta-llama-Llama-3.2-1B-Instruct_canconical-symmetry-grouping_legal_move_nl_grpo-nl-expt-final-fixed-prompt-and-data-loading/checkpoint-2405"
# )

# GRPO V2
# CHECKPOINTS=(
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-400"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-600"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-800"
# )

# CHECKPOINTS=(
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-50"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-100"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-150"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-250"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-300"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-350"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-400"  
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-450"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-500"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-550"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-600"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-650"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-700"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-750"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-800"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-850"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-900"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-950"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_special_canconical-symmetry-grouping/checkpoint-962"
#     # Next expt
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-50"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-100"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-150"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-250"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-300"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-350"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-400"
#     # Next expt
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_special_random_80_10_10/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_special_random_80_10_10/checkpoint-400"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt/Qwen_Qwen2.5-1.5B-Instruct_special_random_80_10_10/checkpoint-600"
#     # Next expt 
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-50"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-100"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-150"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-250"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-300"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-350"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_special_random_80_10_10/checkpoint-400"
#     # Next expt
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-50"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-100"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-200"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-250"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-350"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-400"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-500"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-550"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-650"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-700"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-800"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-850"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-950"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-962"
#     # Next expt
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-50"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-100"
#     "/mnt/data/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-150"
# )

# CHECKPOINTS=(
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-50"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-100"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-200"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-250"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-350"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-400"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-500"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-550"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-650"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-700"
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_updated/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
# )

# CHECKPOINTS=(
#     "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
# )

CHECKPOINTS=(
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2405"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/meta-llama_Llama-3.2-1B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/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/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/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/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/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/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/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/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/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/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/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/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/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/meta-llama_Llama-3.2-1B-Instruct_nl_random_80_10_10/checkpoint-2735"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/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/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/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/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/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/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2405"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2700"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2550"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-2735"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-900"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-0.5B-Instruct_nl_random_80_10_10/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1950"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2400"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2100"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2250"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-2405"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-900"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_canconical-symmetry-grouping/checkpoint-450"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1650"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1350"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1200"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1500"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-150"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-300"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1050"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-750"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-900"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-600"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-1800"
    "/mnt/shared/data/stlm-logic/grpo_v2_expt_lr_1e-6/Qwen_Qwen2.5-1.5B-Instruct_nl_random_80_10_10/checkpoint-450"
)

# # 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" \
      --random_xy_moves \
      --save_individual_outputs \
      --use-ascii-board
    
    echo "Finished inference for Model mark: $MODEL_MARK"
      
    # Optionally, include a sleep interval between runs if needed.
    # sleep 2
    echo "===================================================="
done
