diff --git a/ppdet/utils/check.py b/ppdet/utils/check.py index e66e22cc95..72a1d8f4a2 100644 --- a/ppdet/utils/check.py +++ b/ppdet/utils/check.py @@ -26,20 +26,20 @@ logger = setup_logger(__name__) __all__ = [ - 'check_gpu', 'check_npu', 'check_xpu', 'check_mlu', 'check_gcu', 'check_iluvatar_gpu' + 'check_gpu', 'check_metax_gpu', 'check_npu', 'check_xpu', 'check_mlu', 'check_gcu', 'check_iluvatar_gpu' 'check_version', 'check_config' ] def check_iluvatar_gpu(use_iluvatar_gpu): """ Log error and exit when set use_iluvatar_gpu=true in paddlepaddle - cpu/gpu/xpu/npu version. + cpu/gpu/xpu/npu/metax_gpu version. """ err = "Config use_iluvatar_gpu cannot be set as true while you are " \ - "using paddlepaddle cpu/gpu/xpu/npu/mlu version ! \nPlease try: \n" \ + "using paddlepaddle cpu/gpu/xpu/npu/mlu/metax_gpu version ! \nPlease try: \n" \ "\t1. Install paddlepaddle-iluvatar-gpu to run model on Iluvatar_GPU \n" \ "\t2. Set use_iluvatar_gpu as false in config file to run " \ - "model on CPU/GPU/XPU/NPU/MLU" + "model on CPU/GPU/XPU/NPU/MLU/METAX_GPU" try: if use_iluvatar_gpu and not 'iluvatar_gpu' in paddle.device.get_all_custom_device_type(): @@ -124,7 +124,25 @@ def check_gpu(use_gpu): sys.exit(1) except Exception as e: pass + +def check_metax_gpu(use_metax_gpu): + """ + Log error and exit when set use_gpu=true in paddlepaddle + cpu version. + """ + err = "Config use_gpu cannot be set as true while you are " \ + "using paddlepaddle cpu version ! \nPlease try: \n" \ + "\t1. Install paddlepaddle-gpu to run model on METAX_GPU \n" \ + "\t2. Set use_gpu as false in config file to run " \ + "model on CPU" + try: + if use_metax_gpu and not paddle.is_compiled_with_custom_device("metax_gpu"): + logger.error(err) + sys.exit(1) + except Exception as e: + pass + def check_gcu(use_gcu): """ Log error and exit when set use_gcu=true in paddlepaddle diff --git a/tools/infer.py b/tools/infer.py index 78aa3584c7..99dc0517dd 100755 --- a/tools/infer.py +++ b/tools/infer.py @@ -32,7 +32,7 @@ import paddle from ppdet.core.workspace import create, load_config, merge_config from ppdet.engine import Trainer, Trainer_ARSL -from ppdet.utils.check import check_gpu, check_npu, check_xpu, check_mlu, check_gcu, check_iluvatar_gpu, check_version, check_config +from ppdet.utils.check import check_gpu, check_metax_gpu, check_npu, check_xpu, check_mlu, check_gcu, check_iluvatar_gpu, check_version, check_config from ppdet.utils.cli import ArgsParser, merge_args from ppdet.slim import build_slim_model @@ -241,7 +241,10 @@ def main(): if 'use_gpu' not in cfg: cfg.use_gpu = False - + + if 'use_metax_gpu' not in cfg: + cfg.use__metax_gpu = False + # disable mlu in config by default if 'use_mlu' not in cfg: cfg.use_mlu = False @@ -256,6 +259,8 @@ def main(): if cfg.use_gpu: place = paddle.set_device('gpu') + elif cfg.use_metax_gpu: + place = paddle.set_device('metax_gpu') elif cfg.use_npu: place = paddle.set_device('npu') elif cfg.use_xpu: @@ -274,6 +279,7 @@ def main(): check_config(cfg) check_gpu(cfg.use_gpu) + check_metax_gpu(cfg.use_metax_gpu) check_npu(cfg.use_npu) check_xpu(cfg.use_xpu) check_mlu(cfg.use_mlu) diff --git a/tools/train.py b/tools/train.py index bdf74f23e0..f5b9b54d13 100755 --- a/tools/train.py +++ b/tools/train.py @@ -177,7 +177,11 @@ def main(): if 'use_gpu' not in cfg: cfg.use_gpu = False - + + # disable metax_gpu in config by default + if 'use_metax_gpu' not in cfg: + cfg.use_metax_gpu = False + # disable mlu in config by default if 'use_mlu' not in cfg: cfg.use_mlu = False @@ -188,6 +192,8 @@ def main(): if cfg.use_gpu: place = paddle.set_device('gpu') + elif cfg.use_metax_gpu: + place = paddle.set_device('metax_gpu') elif cfg.use_npu: place = paddle.set_device('npu') elif cfg.use_xpu: @@ -206,6 +212,7 @@ def main(): merge_config(FLAGS.opt) check.check_config(cfg) check.check_gpu(cfg.use_gpu) + check.check_metax_gpu(cfg.use_metax_gpu) check.check_npu(cfg.use_npu) check.check_xpu(cfg.use_xpu) check.check_mlu(cfg.use_mlu)