一、安装PaddlePaddle环境
直接将左边的paddlepaddle_gpu-2.1.1-cp36-cp36m-linux_aarch64.7z下载解压后将whl文件并传到Jetson nano上即可。
pip3 install paddlepaddle_gpu-2.1.1-cp36-cp36m-linux_aarch64.whl
import paddle
paddle.fluid.install_check.run_check()
二、测试Paddle Inference
(1)拉取Paddle-Inference-Demo:
(2)测试跑通GPU预测模型
需要注意的是,需要将所有子文件夹中的run.sh最后的python修改为python3
三、部署自己的目标检测模型
关于如何更改预测模式
所有的模式都在predict_config() 函数中,其中:
GPU预测:config.enable_use_gpu(500, 0) (注释掉该代码即为CPU模式)
开启IR优化、开启内存优化:config.switch_ir_optim() 和config.enable_memory_optim() (一般都开启)
TensorRT加速:config.enable_tensorrt_engine()
测试模型:mobilenet v1
1.图像尺寸为224
(1)使用CPU预测:平均每帧预测时间为0.24s
(2)开启GPU加速:平均每帧预测时间为0.039s
(3)使用TensorRT加速后:平均每帧预测时间为0.027s
测试模型:yolov3_r50vd
1.图像尺寸为:608
(1)使用CPU预测:平均每帧预测时间为12.8s(因为时间太长,没有过多测试,但是前5帧基本都这个速度)
(2)开启GPU加速:平均每帧预测时间为0.81s
(3)使用TensorRT加速后:
Float32模式:平均每帧预测时间为0.54s config.enable_tensorrt_engine(workspace_size=1 << 30, precision_mode=PrecisionType.Float32,max_batch_size=1, min_subgraph_size=5, use_static=False, use_calib_mode=False)
Float16(Half)模式:平均每帧预测时间为0.34s config.enable_tensorrt_engine(workspace_size=1 << 30, precision_mode=PrecisionType.Half,max_batch_size=1, min_subgraph_size=5, use_static=False, use_calib_mode=False)
2.图像尺寸为:224
(1)使用CPU预测:平均每帧预测时间为1.8s
(2)开启GPU加速:平均每帧预测时间为0.18s
(3)使用TensorRT加速后:会报错