當前面已經訓練好修剪過的模型之后,接下來就可以在訓練設備上先執行推理計算,看看檢測的效果如何?如果實際推理結果并不理想的話,就得回到前面第 6 步驟重新再執行一次。
9、執行推理并查看結果
首先創建一個 test_samples 目錄,然后從數據集中 testing/image_2 中復制一些圖像過來測試,推理結果輸出到 ssd_infer_images 目錄下,這個推理計算也可以使用未修剪的模型來進行測試。
在代碼框 “!tao ssd inference” 后面所提供的參數中,下面兩行是使用修剪后并重新訓練的模型來進行推理。
-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt
-m$USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/ssd_resnet18_epoch_$EPOCH.tlt
如果將這兩行參數改成下面內容,就是用原始模型來進行推理。
-e $SPECS_DIR/ssd_train_resnet18_kitti.txt
-m$USER_EXPERIMENT_DIR/experiment_dir_unpruned/weights/ssd_resnet18_epoch_$EPOCH.tlt
這樣我們可以執行透過推理結果,來查看二者的不同。下面兩張圖分別是未修剪(上)與修剪后(下)模型推理結果的局部放大,雖然修剪后的模型效果不如未修剪的,但是執行結果還是令人滿意,當然這得看您的要求有多高。
如果認可這個推理結果的話,那么訓練階段的任務就可以告一段落,接下去就準備將模型導出,以便部署到真實的推理設備上。
10、導出模型
要執行這個步驟,最好先確認您的推理設備上所能支持的數據精度,特別是 INT8 類型,例如 Jetson Nano (含 2GB)、TX2/TX1就不支持,Xavier NX 與 AGX Xavier 是支持的。臺式機上的游戲卡一般不支持 INT8,而 Tesla、Quadro 專業卡是支持的,不過 NVIDIA 全系列產品都支持 FP16,如果不能確認這方面的信息,至少選擇 FP16 是比較穩妥。
簡單說明一下代碼框 “!tao ssd export” 后面的參數:
假如要輸出 INT8 模型時,由于需要特殊算法以及輔助的校準工具,因此需要其他參數來協助這類模型的導出,主要如下:
這樣就能完成 INT8 模型的輸出任務。
到這里所輸出的 .etlt 模型文件基本上已經可以部署到 DeepStream 推理設備上使用,因為 DeepStream 支持 .etlt 格式的調用,相當方便。但如果要用其他獨立的 TensorRT 來執行加速推理的話,就需要在推理設備上再進行一次的轉換。
本步驟最后一個代碼塊 “!tao converter” 就是在訓練設備上,將 .etlt 模型轉成這臺機器能使用的 TensorRT 引擎文件。由于參數內容較多,這里不一一列舉,請自行至https://docs.nvidia.com/tao/tao-toolkit/text/object_detection/ssd.html搜索 “Using the tao-converter” 環節,有詳細的參數說明。
要注意的一點,在 “!tao converter” 所使用的“-t” 指定數據精度部分,需要與前面 “!tao ssd export” 的 “--data_type” 一致,否則會失去效果。
11、驗證部署模型的效果
這個步驟是驗證 TensorRT 加速引擎的推理效果,主要讓我們在部署到推理設備之前,能再確認一下推理效果。
下面同樣提供兩張推理結果參照圖,上圖是未修剪的模型轉成 TensorRT 引擎的推理結果,下圖是修剪過的模型轉成 TensorRT 引擎的推理結果,效果看起來是一樣的,表示這個修剪過的模型還是足夠好的。
現在就完成一個物件檢測模型訓練的過程,雖然看起來繁瑣,但是只要我們弄清楚一開始的路徑對應,以及熟練后面每個環節的參數用法,基本上要比在框架中自行撰寫代碼容易得多了,除了收集與整理數據的工作是 TAO 工具無法協助的,其余部分已經都為大家提供好完整的指令塊,這是一個真正 “Zero Coding” 的全方位模型訓練工具。
原文標題:NVIDIA Jetson Nano 2GB 系列文章(63):物件檢測的模型訓練與優化-3
文章出處:【微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
-
NVIDIA
+關注
關注
14文章
4981瀏覽量
103000 -
檢測
+關注
關注
5文章
4484瀏覽量
91448 -
模型訓練
+關注
關注
0文章
18瀏覽量
1333
原文標題:NVIDIA Jetson Nano 2GB 系列文章(63):物件檢測的模型訓練與優化-3
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論