Skip to content
Snippets Groups Projects
Select Git revision
  • 89feb45e176ff777da24a9e18f0e6eaeb20bc5e8
  • master default protected
  • r1.8
  • r1.6
  • r1.9
  • r1.5
  • r1.7
  • r1.3
  • r1.4
  • r1.2
  • v1.6.0
  • v1.5.0
12 results

run_standalone_train.sh

Blame
  • run_standalone_train.sh 1.61 KiB
    #!/bin/bash
    # Copyright 2021 Huawei Technologies Co., Ltd
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    # http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    # ============================================================================
    
    if [ $# != 1 ]
    then
        echo "Usage: bash run_standalone_train.sh [DATASET_PATH]"
    exit 1
    fi
    
    get_real_path(){
      if [ "${1:0:1}" == "/" ]; then
        echo "$1"
      else
        echo "$(realpath -m $PWD/$1)"
      fi
    }
    
    DATASET_PATH=$(get_real_path $1)
    echo $DATASET_PATH
    
    
    if [ ! -d $DATASET_PATH ]
    then
        echo "error: DATASET_PATH=$DATASET_PATH is not a directory"
    exit 1
    fi
    
    
    export DEVICE_NUM=1
    export DEVICE_ID=0
    export RANK_ID=0
    export RANK_SIZE=1
    
    if [ -d "train" ];
    then
        rm -rf ./train
    fi
    mkdir ./train
    cp ../*.py ./train
    cp ../*.yaml ./train
    cp -r ../src ./train
    cp -r ../model_utils ./train
    cd ./train || exit
    echo "start training for device $DEVICE_ID"
    env > env.log
    
    python train.py \
        --data_dir=$DATASET_PATH \
        --is_distributed=0 \
        --lr=0.01 \
        --t_max=300 \
        --max_epoch=300 \
        --warmup_epochs=4 \
        --training_shape=640 \
        --per_batch_size=32 \
        --weight_decay=0.016 \
        --lr_scheduler=cosine_annealing > log.txt 2>&1 &
    cd ..