#!/bin/bash

# Text Conditioning Pairs (Edit Blocks) - Development Test
# Based on vocal captions test pattern - smaller model, no FSDP, local training
# Uses CUDA devices 4,5 for testing

echo "Starting Text Conditioning Pairs (Edit Blocks) Integration Test..."
echo "CUDA Device: 4"
echo "Testing text conditioning pairs with:"
echo "  - 100% text conditioning pairs mode (prob=1.0)"
echo "  - mmBERT enabled with 100% probability (prob_use_mmbert=1.0)"
echo "  - Shared semantic_cond_audio_token for all conditioning types"
echo "  - Text description blocks paired with conditioning content"
echo "  - Instruction templates for cover, artist, stem, vox, sample, etc."

cd /home/vibert/projects/neon-edit-blocks/sunoGPT && \
CUDA_VISIBLE_DEVICES=4,5 /home/vibert/anaconda3/envs/suno_env_fa2/bin/python -u train.py \
    --out_dir="/app2/suno/checkpoints/text_conditioning_pairs_test" \
    --data_dir="/app2/suno/data/auk_v0" \
    --train_metas_filename="metas_v8_tr_mini.jsonl" \
    --val_metas_filename="/app2/suno/data/auk_v0/metas_v8_val.jsonl" \
    --step_save_iters=500 \
    --eval_interval=100 \
    --eval_iters=3 \
    --batch_store_size=1 \
    \
    --n_layer=1 \
    --n_head=16 \
    --d_head=64 \
    \
    --learning_rate=1e-4 \
    --max_iters=500 \
    --warmup_iters=0 \
    --batch_size=1 \
    \
    --fsdp=False \
    --grad_checkpointing=False \
    --compile=False \
    --checkpoint_save_old_format=False \
    \
    --wandb_log=False \
    --preload_optimizer=False \
    --allow_skip=True \
    --use_hoot=False \
    --prob_text_conditioning_pairs=1.0 \
    --use_mmbert=True \
    --prob_use_mmbert=1.0 \
    \
    --use_continuous_semantic_input=True --use_block_type_embeddings=True \
    --use_noncausal_input=True \
    2>&1 | tee /tmp/text_conditioning_pairs_test.log

echo "Text conditioning pairs integration test completed!"
echo "Check logs for text conditioning pairs mode with mmBERT."
echo "Expected: 100% text conditioning pairs with mmBERT blocks"
echo "Look for '[mmBERT] Moving mmBERT encoder to CUDA' message (should appear only once)"
echo "Look for text description blocks with instruction templates like '[extract drums]', '[cover this song]', etc."