Skip to content

Commit

Permalink
tipc for npu
Browse files Browse the repository at this point in the history
  • Loading branch information
Aganlengzi committed Aug 11, 2022
1 parent 1797fde commit 4404e58
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 3 deletions.
25 changes: 25 additions & 0 deletions test_tipc/prepare_npu_test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/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/runner.use_gpu/runner.use_npu/g" $file
sed -i '30s/$/ runner.use_gpu=False/' $file
sed -i '40s/$/ --use_gpu=false/' $file
sed -i "s/--use_gpu:/--use_npu:/g" $file
done

yaml_files=$(find ${REPO_ROOT_PATH}/models/ -name "*.yaml")
for file in ${yaml_files}; do
echo $file
sed -i "s/use_gpu: True/use_gpu: False/g" $file
done

2 changes: 1 addition & 1 deletion test_tipc/test_train_inference_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ else
status_check $? "${cmd}" "${status_log}"
done
else # train with multi-machine
cmd="${python} -m paddle.distributed.launch --ips=${ips} --gpus=${gpu} ${run_train} ${set_use_gpu} ${set_save_model} ${set_pretrain} ${set_epoch} ${set_autocast} ${set_batchsize} ${set_train_params1} ${set_amp_config}"
cmd="${python} -m paddle.distributed.launch --ips=${ips} --devices=${gpu} ${run_train} ${set_use_gpu} ${set_save_model} ${set_pretrain} ${set_epoch} ${set_autocast} ${set_batchsize} ${set_train_params1} ${set_amp_config}"
eval "unset CUDA_VISIBLE_DEVICES"
eval $cmd
status_check $? "${cmd}" "${status_log}"
Expand Down
13 changes: 11 additions & 2 deletions tools/paddle_infer.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def parse_args():
parser.add_argument("--params_file", type=str)
parser.add_argument("--model_dir", type=str)
parser.add_argument("--use_gpu", type=str)
parser.add_argument("--use_npu", type=str)
parser.add_argument("--data_dir", type=str)
parser.add_argument("--reader_file", type=str)
parser.add_argument("--batchsize", type=int)
Expand All @@ -49,6 +50,7 @@ def parse_args():
parser.add_argument("--precision", type=str)
args = parser.parse_args()
args.use_gpu = (True if args.use_gpu.lower() == "true" else False)
args.use_npu = (True if args.use_npu is not None and args.use_npu.lower() == "true" else False)
args.enable_mkldnn = (True
if args.enable_mkldnn.lower() == "true" else False)
args.enable_tensorRT = (True if args.enable_tensorRT.lower() == "true" else
Expand Down Expand Up @@ -86,6 +88,8 @@ def init_predictor(args):
max_batch_size=args.batchsize,
min_subgraph_size=9,
precision_mode=paddle.inference.PrecisionType.Float32)
elif args.use_npu:
config.enable_npu()
else:
config.disable_gpu()
config.set_cpu_math_library_num_threads(args.cpu_threads)
Expand Down Expand Up @@ -114,7 +118,12 @@ def create_data_loader(args):

def main(args):
predictor, pred_config = init_predictor(args)
place = paddle.set_device('gpu' if args.use_gpu else 'cpu')
if args.use_gpu:
place = paddle.set_device('gpu')
elif args.use_npu:
place = paddle.set_device('npu')
else:
place = paddle.set_device('cpu')
args.place = place
input_names = predictor.get_input_names()
output_names = predictor.get_output_names()
Expand All @@ -132,7 +141,7 @@ def main(args):
inference_config=pred_config,
pids=pid,
process_name=None,
gpu_ids=0,
gpu_ids=0 if args.use_gpu else None,
time_keys=[
'preprocess_time', 'inference_time', 'postprocess_time'
])
Expand Down

0 comments on commit 4404e58

Please sign in to comment.