You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

run_standalone_train.sh 1.6 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/bash
  2. # Copyright 2020 Huawei Technologies Co., Ltd
  3. #
  4. # Licensed under the Apache License, Version 2.0 (the "License");
  5. # you may not use this file except in compliance with the License.
  6. # You may obtain a copy of the License at
  7. #
  8. # http://www.apache.org/licenses/LICENSE-2.0
  9. #
  10. # Unless required by applicable law or agreed to in writing, software
  11. # distributed under the License is distributed on an "AS IS" BASIS,
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. # ============================================================================
  16. if [ $# != 1 ] && [ $# != 2 ]
  17. then
  18. echo "Usage: sh run_standalone_train.sh [DATASET_PATH] [PRETRAINED_CKPT_PATH](optional)"
  19. exit 1
  20. fi
  21. get_real_path(){
  22. if [ "${1:0:1}" == "/" ]; then
  23. echo "$1"
  24. else
  25. echo "$(realpath -m $PWD/$1)"
  26. fi
  27. }
  28. PATH1=$(get_real_path $1)
  29. if [ $# == 2 ]
  30. then
  31. PATH2=$(get_real_path $2)
  32. fi
  33. if [ ! -d "$PATH1" ]
  34. then
  35. echo "error: DATASET_PATH=$PATH1 is not a directory"
  36. exit 1
  37. fi
  38. if [ ! -f "$PATH2" ]
  39. then
  40. echo "error: PRETRAINED_CKPT_PATH=$PATH2 is not a file"
  41. exit 1
  42. fi
  43. ulimit -u unlimited
  44. export DEVICE_NUM=1
  45. export DEVICE_ID=0
  46. export RANK_ID=0
  47. if [ -d "train" ];
  48. then
  49. rm -rf ./train
  50. fi
  51. mkdir ./train
  52. cp *.py ./train
  53. cp *.sh ./train
  54. cd ./train || exit
  55. echo "start training for device $DEVICE_ID"
  56. env > env.log
  57. if [ $# == 1 ]
  58. then
  59. python train.py --do_train=True --dataset_path=$PATH1 &> log &
  60. else
  61. python train.py --do_train=True --dataset_path=$PATH1 --pre_trained=$PATH2 &> log &
  62. fi
  63. cd ..