NVIDIA在GTC 2019上發布了Jetson Nano開發套件,這是一款售價99美元的計算機,可供嵌入式設計人員、研究人員和DIY創客們使用,在緊湊、易用的平臺上即可實現現代AI的強大功能,并具有完整的軟件可編程性。本文將為您詳細剖析Jetson Nano的強大性能和應用。
Jetson Nano采用四核64位ARM CPU和128核集成NVIDIA GPU,可提供472 GFLOPS的計算性能。它還包括4GB LPDDR4存儲器,采用高效、低功耗封裝,具有5W/10W功率模式和5V DC輸入,如圖1所示。
圖1. Jetson Nano開發套件 (80x100mm), 99美元即可獲得
Jetson Nano基于配備了圖形加速的Ubuntu18.04操作系統,全新發布的JetPack 4.2 SDK為其提供了完整的桌面Linux環境支持,NVIDIA CUDA 工具包10.0,以及cuDNN 7.3和TensorRT等庫。該SDK還包括本機安裝的常用開源機器學習(ML)框架,如TensorFlow、PyTorch、Caffe、Keras和MXNet,以及計算機視覺和機器人開發的框架,如OpenCV和ROS。
它與這些框架和NVIDIA領先的AI平臺完全兼容,可以輕松地將基于AI的推理工作負載部署到Jetson。Jetson Nano能為各種復雜的深度神經網絡(DNN)模型提供實時計算機視覺和推理。這些功能支持多傳感器自主機器人,以及具有智能邊緣分析的物聯網設備和先進的AI系統。開發人員甚至可以通過遷移學習,使用機器學習框架在Jetson Nano本地重新訓練網絡。
Jetson Nano開發套件的體積僅為80x100mm,具有四個高速USB 3.0端口、MIPI CSI-2攝像頭連接器、HDMI 2.0和DisplayPort 1.3、千兆以太網、M.2 Key-E模塊、MicroSD卡插槽和40引腳GPIO接頭。端口和GPIO接頭開箱即用,配備各種常用的外圍設備、傳感器和即用型項目,例如NVIDIA在GitHub上開源的3D可打印深度學習JetBot。
該開發套件可由移動的MicroSD卡啟動,能夠在任何具有SD卡適配器的PC上進行格式化和成像。它可以通過Micro USB端口或5V DC桶形插孔適配器充電,方便快捷。攝像頭連接器兼容經濟實惠的MIPI CSI傳感器,包括基于Jetson生態系統合作伙伴提供的8MP IMX219的模塊。它還支持Raspberry Pi Camera Module v2,其中包括JetPack中的驅動程序支持。表1展現了其關鍵規格。
表1. Jetson Nano開發套件技術規格
*表示了達到聚合吞吐量的最大并發流數。支持的視頻編解碼器:H.265,H.264,VP8,VP9(僅限VP9解碼)
該套件圍繞一個260引腳的SODIMM型系統級模塊(SoM)構建,如圖2所示。SoM包含處理器、內存和電源管理電路。 Jetson Nano計算模塊尺寸為45x70mm,將于2019年6月開始發售,售價129美元(千片批量),供嵌入式設計人員集成到生產系統中。生產計算模塊將包括16GB eMMC板載存儲和增強I/O,以及PCIe Gen2 x4/x2/x1、MIPI DSI,附加GPIO和12個MIPI CSI-2通道,可連接多達三個x4攝像頭或最多四個攝像頭x4/x2配置中。Jetson的統一內存子系統在CPU、GPU和多媒體引擎之間共享,提供簡化的ZeroCopy傳感器攝取和高效處理流水線。
圖2. 45x70mm Jetson Nano 計算模塊配備260引腳邊緣連接器
深度學習推理基準
Jetson Nano可以運行各種各樣的高級網絡,包括流行的機器學習框架的完整原生版本,如TensorFlow、PyTorch、Caffe / Caffe2、Keras和MXNet等。通過實現圖像識別、對象檢測和定位、姿勢估計、語義分割、視頻增強和智能分析等強大功能,這些網絡可用于構建自主機器和復雜AI系統。
圖3顯示了在線提供的常用模型的推理基準測試結果。推理使用批量1和FP16精度,采用JetPack 4.2配備的NVIDIA TensorRT加速器庫。Jetson Nano在許多場景中都具有實時性能,能夠處理多個高清視頻流。
圖3. 采用Jetson Nano和TensorRT的各種深度學習推理網絡的性能,使用FP16精度和批量1
表2提供了完整的結果,包括其他平臺的性能,如Raspberry Pi 3、Intel Neural Compute Stick 2和Google Edge TPU Coral Dev Board:
表2. Jetson Nano、Raspberry Pi 3、Intel Neural Compute Stick 2和Google Edge TPU Coral Dev Board的推理性能結果。
由于內存容量有限,網絡層不受支持或硬件/軟件限制,DNR(未運行)結果頻繁發生。固定功能神經網絡加速器通常支持相對較窄的一組用例,硬件支持專用層操作,需要網絡權重和激活以適應有限的片上高速緩存,以避免重大的數據傳輸損失。它們可能會回退到主機CPU上以運行硬件中不支持的層,并且可能依賴于支持減少的框架子集的模型編譯器(例如,TFLite)。
Jetson Nano靈活的軟件和完整的框架支持,以及內存容量和統一內存子系統使其能夠運行多種不同的網絡,達到全高清分辨率,包括同時在多個傳感器流上的可變批量大小。這些基準測試代表了常用網絡的一些示例,但用戶可以通過加速性能為Jetson Nano部署各種模型和定制架構。而Jetson Nano不僅限于DNN推理。其CUDA架構可用于計算機視覺和數字信號處理(DSP),使用包括FFT、BLAS和LAPACK操作在內的算法,以及用戶定義的CUDA內核。
多流視頻分析
Jetson Nano可實時處理多達8個高清全動態視頻流,并可部署在網絡視頻錄像機(NVR)、智能攝像頭和物聯網網關的低功耗邊緣智能視頻分析平臺中。NVIDIA的DeepStream SDK使用ZeroCopy和TensorRT來優化端到端的推理管道,以在邊緣和本地服務器上實現最佳性能。
如下視頻顯示了Jetson Nano在8個1080p30流上同時執行物體檢測,該過程基于ResNet的模型以全分辨率運行,吞吐量為每秒500萬像素(MP/s)。
圖4顯示了使用Jetson Nano通過深度學習分析在千兆以太網上攝取和處理多達8個數字流的示例NVR架構。該系統可解碼500 MP/s的H.264/H.265,并編碼250 MP/s的H.264/H.265視頻。
圖4. 使用Jetson Nano和8x高清攝像頭輸入的參考NVR系統架構
JetBot
圖5所示的NVIDIA JetBot是一個新的開源自主機器人套件,它提供了所有軟件和硬件,計劃以低于250美元的價格構建一個人工智能的深度學習機器人。硬件材料包括Jetson Nano、IMX219 800萬像素攝像頭、3D打印機箱、電池組、電機、I2C電機驅動器和配件。
圖5. NVIDIAJetBot是基于Jetson Nano的開源深度學習自主機器人套件,能夠以低于$250的價格構建而成
該項目通過Jupyter筆記本提供簡單易學的示例,介紹通過編寫Python代碼來控制電機,訓練JetBot檢測障礙物,跟蹤人和家居用品等物體,并訓練JetBot跟蹤地板周圍的路徑??梢酝ㄟ^擴展代碼和使用AI框架為JetBot創建新功能。還有可用于JetBot的ROS節點,為希望集成基于ROS的應用程序,以及SLAM和高級路徑規劃等功能的用戶提供ROS Melodic支持。包含JetBot ROS節點的GitHub存儲庫還包括Gazebo 3D機器人模擬器的模型,在部署到機器人之前可在虛擬環境中開發和測試新的AI行為。 Gazebo模擬器生成合成攝像頭數據,并在Jetson Nano上運行。
Hello AI World
Hello AI World提供了一個很好的方式來開始使用Jetson并體驗AI的強大功能。在短短幾個小時內,您就可以使用JetPack SDK和NVIDIA TensorRT在Jetson Nano開發套件上進行一系列深度學習推理演示,并進行實時圖像分類和對象檢測(使用預訓練模型)。本教程重點介紹與計算機視覺相關的網絡,并包括使用實時攝像頭。您還可以使用C++編寫自己易于理解的識別程序??捎玫纳疃葘W習ROS節點將這些識別、檢測和分段推理功能與ROS結合在一起,可以集成到先進的機器人系統和平臺中。這些實時推理節點可以輕松地放入現有的ROS應用程序中。圖6展示了其中一些示例。
想要嘗試訓練自己模型的開發人員可以參照完整的“Two Days to a Demo”教程,該教程涵蓋了圖像分類、對象檢測和帶有遷移學習的語義分割模型的重新訓練和定制。遷移學習可以精確調整特定數據集的模型權重,并避免必須從頭開始訓練模型。遷移學習能夠在連接NVIDIA離散GPU的PC或云實例上高效執行,因為訓練需要比推理更多的計算資源和時間。
圖6. Hello AI World和Two Days to a Demo教程幫助用戶快速部署用于計算機視覺的深度學習
然而,由于Jetson Nano可以運行TensorFlow、PyTorch和Caffe等完整的訓練框架,因此它還能夠為那些無法訪問另一臺專用訓練機器,并且愿意為獲得結果而等待的人提供遷移學習。表3顯示了Two Days to a Demo教程的遷移學習的初步結果,該過程在Jetson Nano上使用PyTorch,在20萬圖像、22.5GB的 ImageNet子集上訓練Alexnet和ResNet-18:
表3. 使用Jetson Nano和遷移學習在ImageNet數據集的樣本——20萬圖像/22.5GB子集上重新訓練圖像分類網絡的結果
時間戳指的是完成20萬圖像訓練數據集所需的時間。對于可用結果和生產模型,分類網絡可能需要2-5個時間戳,并且應該在離散GPU系統上訓練以獲得更多時間戳,直到它們達到最大準確度。但是,Jetson Nano可以讓網絡在一夜之間重新訓練,在低成本平臺上體驗深度學習和人工智能。并非所有自定義數據集都與此處使用的22.5GB示例一樣大。因此,圖像/秒表示Jetson Nano的訓練性能,此處還包括時間戳縮放與數據集的大小,訓練批量大小和網絡復雜性。其他型號也可以在Jetson Nano上重新訓練,同時增加訓練時間。
所有人可用的AI
Jetson Nano的計算性能、緊湊的體積和靈活性為開發人員帶來了創建AI驅動設備和嵌入式系統的無限可能性。
-
英偉達
+關注
關注
22文章
3783瀏覽量
91247
原文標題:深度剖析 | Jetson Nano讓AI計算無處不在
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論