diff --git a/test_tipc/prepare_npu_test.sh b/test_tipc/prepare_npu_test.sh new file mode 100644 index 000000000..ed050987f --- /dev/null +++ b/test_tipc/prepare_npu_test.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +BASEDIR=$(dirname "$0") + +function readlinkf() { + perl -MCwd -e 'print Cwd::abs_path shift' "$1"; +} + +REPO_ROOT_PATH=$(readlinkf ${BASEDIR}/../) + +config_files=$(find ${REPO_ROOT_PATH}/test_tipc/configs -name "train_infer_python.txt") +for file in ${config_files}; do + echo $file + sed -i "s/Global.use_gpu/Global.use_npu/g" $file + sed -i '16s/$/ -o use_npu=True/' $file + sed -i '24s/$/ -o use_npu=True/' $file + sed -i '40s/$/ --use_gpu=False/' $file + sed -i "s/--use_gpu:True|False/--use_npu:True|False/g" $file +done + +yaml_files=$(find ${REPO_ROOT_PATH}/configs/recognition/ -name "*.yaml") +for file in ${yaml_files}; do + echo $file + sed -i "s/num_workers: 4/num_workers: 0/g" $file + sed -i "s/num_workers: 8/num_workers: 0/g" $file +done diff --git a/test_tipc/test_train_inference_python.sh b/test_tipc/test_train_inference_python.sh index ca7a97350..8b932a2ec 100644 --- a/test_tipc/test_train_inference_python.sh +++ b/test_tipc/test_train_inference_python.sh @@ -363,9 +363,9 @@ else if [ ${#gpu} -le 2 ];then # train with cpu or single gpu cmd="${python} ${run_train} ${set_amp_config} ${set_use_gpu} ${set_save_model} ${set_epoch} ${set_pretrain} ${set_batchsize} ${set_train_params1} ${set_train_params2} > ${LOG_PATH}/train.log 2>&1" elif [ ${#ips} -le 15 ];then # train with multi-gpu - cmd="${python} -B -m paddle.distributed.launch --gpus=\"${gpu}\" ${run_train} ${set_amp_config} ${set_use_gpu} ${set_save_model} ${set_epoch} ${set_pretrain} ${set_batchsize} ${set_train_params1} ${set_train_params2} > ${LOG_PATH}/train.log 2>&1" + cmd="${python} -B -m paddle.distributed.launch --devices=\"${gpu}\" ${run_train} ${set_amp_config} ${set_use_gpu} ${set_save_model} ${set_epoch} ${set_pretrain} ${set_batchsize} ${set_train_params1} ${set_train_params2} > ${LOG_PATH}/train.log 2>&1" else # train with multi-machine - cmd="${python} -B -m paddle.distributed.launch --ips=${ips} --gpus=\"${gpu}\" ${run_train} ${set_amp_config} ${set_use_gpu} ${set_save_model} ${set_pretrain} ${set_epoch} ${set_batchsize} ${set_train_params1} ${set_train_params2} > ${LOG_PATH}/train.log 2>&1" + cmd="${python} -B -m paddle.distributed.launch --ips=${ips} --devices=\"${gpu}\" ${run_train} ${set_amp_config} ${set_use_gpu} ${set_save_model} ${set_pretrain} ${set_epoch} ${set_batchsize} ${set_train_params1} ${set_train_params2} > ${LOG_PATH}/train.log 2>&1" fi # run train diff --git a/tools/predict.py b/tools/predict.py index 57a27cf42..bdf29e9f7 100644 --- a/tools/predict.py +++ b/tools/predict.py @@ -24,6 +24,7 @@ def parse_args(): + def str2bool(v): return v.lower() in ("true", "t", "1") @@ -50,6 +51,7 @@ def str2bool(v): # params for paddle predict parser.add_argument("-b", "--batch_size", type=int, default=1) parser.add_argument("--use_gpu", type=str2bool, default=True) + parser.add_argument("--use_npu", type=str2bool, default=False) parser.add_argument("--precision", type=str, default="fp32") parser.add_argument("--ir_optim", type=str2bool, default=True) parser.add_argument("--use_tensorrt", type=str2bool, default=False) @@ -67,6 +69,8 @@ def create_paddle_predictor(args, cfg): config = Config(args.model_file, args.params_file) if args.use_gpu: config.enable_use_gpu(args.gpu_mem, 0) + elif args.use_npu: + config.enable_npu() else: config.disable_gpu() if args.cpu_threads: