Linux GPU/CPU 基础训练推理测试

August 25, 2022 · View on GitHub

Linux GPU/CPU 基础训练推理测试的主程序为test_train_inference_python.sh,可以测试基于Python的模型训练、评估、推理等基本功能。

1. 测试结论汇总

  • 训练相关:
算法名称模型名称单机单卡单机多卡
CutPasteresnet18正常训练-
  • 推理相关:
算法名称模型名称device_CPUdevice_GPUbatchsize
CutPasteresnet18支持支持1

2. 测试流程

2.1 准备数据

用于基础训练推理测试的数据位于lite_data,直接使用即可。

2.2 准备环境

  • 安装PaddlePaddle:如果您已经安装了2.2或者以上版本的paddlepaddle,那么无需运行下面的命令安装paddlepaddle。

    # 需要安装2.2及以上版本的Paddle
    # 安装GPU版本的Paddle
    pip install paddlepaddle-gpu==2.2.0
    # 安装CPU版本的Paddle
    pip install paddlepaddle==2.2.0
    
  • 安装依赖

    pip3 install  -r requirements.txt
    

2.3 功能测试

测试方法如下所示,希望测试不同的模型文件,只需更换为自己的参数配置文件,即可完成对应模型的测试。

bash test_tipc/test_train_inference_python.sh ${your_params_file} lite_train_lite_infer

resnet18Linux GPU/CPU 基础训练推理测试为例,命令如下所示。

bash test_tipc/prepare.sh test_tipc/configs/resnet18/train_infer_python.txt lite_train_lite_infer
bash test_tipc/test_train_inference_python.sh test_tipc/configs/resnet18/train_infer_python.txt lite_train_lite_infer

输出结果如下,表示命令运行成功。

 Run successfully with command - python3.7 tools/train.py --type lite --model_dir logs --output=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0 --epochs=2   --batch_size=1!
......
 Run successfully with command - python3.7 tools/eval.py --type lite --pretrained=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0/final.pdparams! 
......
 Run successfully with command - python3.7 deploy/export_model.py  --pretrained=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0/final.pdparams --save-inference-dir=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0!
......
 Run successfully with command - python3.7 deploy/infer.py --use-gpu=True --model-dir=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0 --batch-size=1   --benchmark=False > ./log/resnet18/lite_train_lite_infer/python_infer_gpu_batchsize_1.log 2>&1 !  
......
 Run successfully with command - python3.7 deploy/infer.py --use-gpu=False --model-dir=./log/resnet18/lite_train_lite_infer/norm_train_gpus_0 --batch-size=1   --benchmark=False > ./log/resnet18/lite_train_lite_infer/python_infer_cpu_batchsize_1.log 2>&1 !