| set -x | |
| GPUS=${GPUS:-8} | |
| PORT=${PORT:-29500} | |
| if [ $GPUS -lt 8 ]; then | |
| GPUS_PER_NODE=${GPUS_PER_NODE:-$GPUS} | |
| else | |
| GPUS_PER_NODE=${GPUS_PER_NODE:-8} | |
| fi | |
| CPUS_PER_TASK=${CPUS_PER_TASK:-5} | |
| OUTPUT_DIR=$1 | |
| PRETRAINED_WEIGHTS=$2 | |
| PY_ARGS=${@:3} # Any arguments from the forth one are captured by this | |
| echo "Load pretrained weights from: ${PRETRAINED_WEIGHTS}" | |
| # train & test | |
| PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \ | |
| python3 -m torch.distributed.launch --nproc_per_node=${GPUS_PER_NODE} --master_port=${PORT} --use_env \ | |
| main.py --dataset_file a2d --with_box_refine --freeze_text_encoder --batch_size 2 \ | |
| --epochs 6 --lr_drop 3 5 \ | |
| --output_dir=${OUTPUT_DIR} --pretrained_weights=${PRETRAINED_WEIGHTS} ${PY_ARGS} | |
| echo "Working path is: ${OUTPUT_DIR}" | |