| #!/bin/sh |
|
|
| cd $(dirname $(dirname "$0")) || exit |
| PYTHON=python |
|
|
| TEST_CODE=test.py |
|
|
| DATASET=scannet |
| CONFIG="None" |
| EXP_NAME=debug |
| WEIGHT=model_best |
| NUM_GPU=None |
| NUM_MACHINE=1 |
| DIST_URL="auto" |
|
|
| while getopts "p:d:c:n:w:g:m:" opt; do |
| case $opt in |
| p) |
| PYTHON=$OPTARG |
| ;; |
| d) |
| DATASET=$OPTARG |
| ;; |
| c) |
| CONFIG=$OPTARG |
| ;; |
| n) |
| EXP_NAME=$OPTARG |
| ;; |
| w) |
| WEIGHT=$OPTARG |
| ;; |
| g) |
| NUM_GPU=$OPTARG |
| ;; |
| m) |
| NUM_MACHINE=$OPTARG |
| ;; |
| \?) |
| echo "Invalid option: -$OPTARG" |
| ;; |
| esac |
| done |
|
|
| if [ "${NUM_GPU}" = 'None' ] |
| then |
| NUM_GPU=`$PYTHON -c 'import torch; print(torch.cuda.device_count())'` |
| fi |
|
|
| echo "Experiment name: $EXP_NAME" |
| echo "Python interpreter dir: $PYTHON" |
| echo "Dataset: $DATASET" |
| echo "GPU Num: $NUM_GPU" |
| echo "Machine Num: $NUM_MACHINE" |
|
|
| if [ -n "$SLURM_NODELIST" ]; then |
| MASTER_HOSTNAME=$(scontrol show hostname "$SLURM_NODELIST" | head -n 1) |
| MASTER_ADDR=$(getent hosts "$MASTER_HOSTNAME" | awk '{ print $1 }') |
| MASTER_PORT=$((10000 + 0x$(echo -n "${DATASET}/${EXP_NAME}" | md5sum | cut -c 1-4 | awk '{print $1}') % 20000)) |
| DIST_URL=tcp://$MASTER_ADDR:$MASTER_PORT |
| fi |
|
|
| echo "Dist URL: $DIST_URL" |
|
|
| EXP_DIR=exp/${DATASET}/${EXP_NAME} |
| MODEL_DIR=${EXP_DIR}/model |
| CODE_DIR=${EXP_DIR}/code |
| CONFIG_DIR=${EXP_DIR}/config.py |
|
|
| if [ "${CONFIG}" = "None" ] |
| then |
| CONFIG_DIR=${EXP_DIR}/config.py |
| else |
| CONFIG_DIR=configs/${DATASET}/${CONFIG}.py |
| fi |
|
|
| echo "Loading config in:" $CONFIG_DIR |
| |
| export PYTHONPATH=./ |
| echo "Running code in: $CODE_DIR" |
|
|
|
|
| echo " =========> RUN TASK <=========" |
| ulimit -n 65536 |
| |
| $PYTHON -u tools/$TEST_CODE \ |
| --config-file "$CONFIG_DIR" \ |
| --num-gpus "$NUM_GPU" \ |
| --num-machines "$NUM_MACHINE" \ |
| --machine-rank ${SLURM_NODEID:-0} \ |
| --dist-url ${DIST_URL} \ |
| --options save_path="$EXP_DIR" weight="${MODEL_DIR}"/"${WEIGHT}".pth |
|
|