| #!/bin/bash | |
| #SBATCH --account=topfmri | |
| #SBATCH --partition=g40x | |
| #SBATCH --job-name=ms | |
| #SBATCH --nodes=1 | |
| #SBATCH --ntasks-per-node=4 # should = number of gpus | |
| #SBATCH --gres=gpu:4 | |
| #SBATCH --time=32:00:00 # total run time limit (HH:MM:SS) | |
| #SBATCH -e slurms/%j.err | |
| #SBATCH -o slurms/%j.out | |
| #SBATCH --comment=topfmri | |
| module load cuda/11.7 # should match torch.cuda.version | |
| export NUM_GPUS=4 # Set to equal gres=gpu:# | |
| export GLOBAL_BATCH_SIZE=512 | |
| # Make sure another job doesnt use same port, here using random number | |
| export MASTER_PORT=$((RANDOM % (19000 - 11000 + 1) + 11000)) | |
| export HOSTNAMES=$(scontrol show hostnames "$SLURM_JOB_NODELIST") | |
| export MASTER_ADDR=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | head -n 1) | |
| export COUNT_NODE=$(scontrol show hostnames "$SLURM_JOB_NODELIST" | wc -l) | |
| export WANDB_DIR="/fsx/proj-fmri/paulscotti/MindEyeV2/wandb/" | |
| export WANDB_CACHE_DIR="/fsx/home-paulscotti/.cache" | |
| export WANDB_MODE="online" | |
| echo MASTER_ADDR=${MASTER_ADDR} | |
| echo MASTER_PORT=${MASTER_PORT} | |
| echo WORLD_SIZE=${COUNT_NODE} | |
| ########### | |
| cd /fsx/proj-fmri/paulscotti/MindEyeV2 | |
| accelerate launch --num_processes=$(($NUM_GPUS * $COUNT_NODE)) --num_machines=$COUNT_NODE --main_process_ip=$MASTER_ADDR --main_process_port=$MASTER_PORT Train.py --data_path=/fsx/proj-fmri/shared/mindeyev2_dataset --model_name=test --subj=1 --batch_size=${GLOBAL_BATCH_SIZE} --n_samples_save=0 --max_lr=3e-4 --mixup_pct=.33 --num_epochs=240 --ckpt_interval=999 --no-use_image_aug | |
| # --wandb_log | |