train.sh 1.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
#!/bin/bash
export MKL_NUM_THREADS=1
export OMP_NUM_THREADS=1

batch_size=32
core_num=`lscpu |grep -m1 "CPU(s)"|awk -F':' '{print $2}'|xargs`
mode=$1 # gpu, cpu, mkldnn
if [ "$mode" = "CPU" ]; then
  if [ $core_num -gt $batch_size ]; then
    echo "Batch size should be greater or equal to the number of 
          available cores, when parallel mode is set to True."
  fi
  use_gpu="False"
  save_model_dir="cpu_model"
  parallel="True"
elif [ "$mode" = "GPU" ]; then
  use_gpu="True"
  save_model_dir="gpu_model"
  parallel="True"
elif [ "$mode" = "MKLDNN" ]; then
  use_gpu="False"
  save_model_dir="mkldnn_model"
  parallel="False"
  export FLAGS_use_mkldnn=1
else
  echo "Invalid mode provided. Please use one of {GPU, CPU, MKLDNN}"
  exit 1
fi

ht=`lscpu |grep "per core"|awk -F':' '{print $2}'|xargs`
if [ $ht -eq 1 ]; then # HT is OFF
    if [ -z "$KMP_AFFINITY" ]; then
        export KMP_AFFINITY="granularity=fine,compact,0,0"
    fi
    if [ -z "$OMP_DYNAMIC" ]; then
        export OMP_DYNAMIC="FALSE"
    fi
else # HT is ON
    if [ -z "$KMP_AFFINITY" ]; then
        export KMP_AFFINITY="granularity=fine,compact,1,0"
    fi
fi

44
python ../train.py \
45 46 47 48 49 50 51
    --use_gpu $use_gpu \
    --parallel $parallel \
    --batch_size $batch_size \
    --save_model_period 1 \
    --total_step 1 \
    --save_model_dir $save_model_dir