博主測試了在不同模式、精度下降MaskRCNN部署到Jetson TX2上的測速結果,與大家分享討論。
對FasterRCNN的測速可見FasterRcnn在Jetson TX2上測速
使用的MaskRCNN框架:matterport/Mask_RCNN
- 參考的TensorRT代碼:sampleUffFasterRCNN
- TensorRT版本: 6.0.1.0
- JetPack版本:4.3
- TensorFLow版本(用於在服務器上訓練模型):1.14.0
- 服務器上用於訓練的CUDA版本:9.2
表1 MaskRCNN+TensorRT在Jetson TX2上測速結果
次序 | 圖像名 | 圖像尺寸 | TX2模式 | 風扇 | FP | 生成engine | 推斷 |
---|---|---|---|---|---|---|---|
1 | test1.ppm | 640x480 | MAXN | 開 | FP32 | 744s | 1359ms |
2 | test1.ppm | 640x480 | MAXN | 關 | FP32 | 814s | 1369ms |
3 | test1.ppm | 640x480 | MAXQ | 開 | FP32 | 1055s | 1848ms |
4 | test1.ppm | 640x480 | MAXP_CORE_ALL | 開 | FP32 | 888s | 1491ms |
5 | test1.ppm | 640x480 | MAXP_CORE_ARM | 開 | FP32 | 878s | 1458ms |
6 | test1.ppm | 640x480 | MAXN | 開 | FP16 | 2922s | 785ms |
7 | test2.ppm | 480x360 | MAXN | 開 | FP32 | 831S | 1378ms |
8 | test2.ppm | 480x360 | MAXN | 開 | FP16 | 2915s | 783ms |
其中,一些基本參數和說明
- FP32生成的engine大小: 285.4MB
- FP16生成engine大小: 251.3MB
- 這裏的batch size =1,由於第一張需要預熱,速度較慢,這裏運行了10次求平均時間
- 在不強制開啓風扇時,生成引擎過程中會自動開啓風扇
爲了更好地比較提速效果,博主還測試了直接使用tensorflow版本的MaskRCNN在Jetson TX2上進行測速,結果如下
表2 MaskRCNN+TensorFlow在Jetson TX2上測速
次序 | 圖像名 | 模型載入 | 第一張推斷 | 之後推斷 | 與FP32推斷時間比 | 與FP16推斷時間比 |
---|---|---|---|---|---|---|
9 | test1.ppm | 32.4s | 22s | 2800ms | 2:1 | 4:1 |
10 | test2.ppm | 32.2s | 22s | 2600 | 2:1 | 4:1 |
以上兩個測試都是在TX2模式爲MAXN,風扇開啓下完成。
原始的模式大小爲244.23MB
由此可見,我們有如下結論,也歡迎大家留言討論