#!/bin/sh cd $(dirname $(dirname "$0")) || exit ROOT_DIR=$(pwd) PYTHON=python TRAIN_CODE=train.py DATASET=scannet CONFIG="None" EXP_NAME=debug WEIGHT="None" RESUME=false GPU=None while getopts "p:d:c:n:w:g:r:" opt; do case $opt in p) PYTHON=$OPTARG ;; d) DATASET=$OPTARG ;; c) CONFIG=$OPTARG ;; n) EXP_NAME=$OPTARG ;; w) WEIGHT=$OPTARG ;; r) RESUME=$OPTARG ;; g) GPU=$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 "Config: $CONFIG" echo "GPU Num: $GPU" EXP_DIR=exp/${DATASET}/${EXP_NAME} MODEL_DIR=${EXP_DIR}/model CODE_DIR=${EXP_DIR}/code CONFIG_DIR=configs/${DATASET}/${CONFIG}.py echo " =========> CREATE EXP DIR <=========" echo "Experiment dir: $ROOT_DIR/$EXP_DIR" if ${RESUME} then CONFIG_DIR=${EXP_DIR}/config.py WEIGHT=$MODEL_DIR/model_last.pth else mkdir -p "$MODEL_DIR" "$CODE_DIR" cp -r scripts tools pointcept "$CODE_DIR" fi echo "Loading config in:" $CONFIG_DIR export PYTHONPATH=./$CODE_DIR echo "Running code in: $CODE_DIR" echo " =========> RUN TASK <=========" if [ "${WEIGHT}" = "None" ] then $PYTHON "$CODE_DIR"/tools/$TRAIN_CODE \ --config-file "$CONFIG_DIR" \ --num-gpus "$GPU" \ --options save_path="$EXP_DIR" else $PYTHON "$CODE_DIR"/tools/$TRAIN_CODE \ --config-file "$CONFIG_DIR" \ --num-gpus "$GPU" \ --options save_path="$EXP_DIR" resume="$RESUME" weight="$WEIGHT" fi