NVIDIA 在 2019 年 NVIDIA GPU 技術大會 (GTC) 上宣布推出Jetson Nano開發者套件,這是一款售價 99 美元的計算機,現已面向嵌入式設計師、研究人員和 DIY 制造商提供,在緊湊、易于使用的平臺中提供現代 AI 的強大功能完全的軟件可編程性。Jetson Nano 通過四核 64 位 ARM CPU 和 128 核集成 NVIDIA GPU 提供 472 GFLOPS 的計算性能。它還包括采用高效、低功耗封裝的 4GB LPDDR4 內存,具有 5W/10W 電源模式和 5V DC 輸入,如圖 1 所示。
新發布的JetPack 4.2 SDK為基于 Ubuntu 18.04 的 Jetson Nano 提供了完整的桌面 Linux 環境,具有加速圖形,支持 NVIDIA CUDA Toolkit 10.0,以及 cuDNN 7.3 和 TensorRT 5 等庫。SDK 還包括本地安裝流行的能力TensorFlow、PyTorch、Caffe、Keras 和 MXNet 等開源機器學習 (ML) 框架,以及 OpenCV 和 ROS 等計算機視覺和機器人開發框架。
與這些框架和 NVIDIA 領先的 AI 平臺的完全兼容性使得將基于 AI 的推理工作負載部署到 Jetson 比以往任何時候都更加容易。Jetson Nano 為各種復雜的深度神經網絡 (DNN) 模型帶來實時計算機視覺和推理。這些功能支持多傳感器自主機器人、具有智能邊緣分析的物聯網設備和先進的人工智能系統。甚至遷移學習也可以使用 ML 框架在 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 傳感器兼容,包括基于 8MP IMX219 的模塊,可從 Jetson 生態系統合作伙伴處獲得。還支持 Raspberry Pi 攝像頭模塊 v2,其中包括 JetPack 中的驅動程序支持。表 1 顯示了關鍵規格。
該開發套件圍繞 260 針 SODIMM 式系統級模塊 (SoM) 構建,如圖 2 所示。SoM 包含處理器、內存和電源管理電路。Jetson Nano 計算模塊尺寸為 45x70mm,將于 2019 年 6 月開始發貨,售價為 129 美元(以 1000 單位為單位),供嵌入式設計人員集成到生產系統中。量產計算模塊將包括 16GB eMMC 板載存儲和增強型 I/O,帶有 PCIe Gen2 x4/x2/x1、MIPI DSI、附加 GPIO 和 12 個 MIPI CSI-2 通道,用于連接多達三個 x4 攝像頭或四個攝像頭在 x4/x2 配置中。Jetson 的統一內存子系統在 CPU、GPU 和多媒體引擎之間共享,提供精簡的 ZeroCopy 傳感器攝取和高效的處理管道。
深度學習推理基準
Jetson Nano 可以運行各種高級網絡,包括流行 ML 框架的完整原生版本,如 TensorFlow、PyTorch、Caffe/Caffe2、Keras、MXNet 等。這些網絡可用于構建自主機器和復雜的人工智能系統,通過實現強大的功能,如圖像識別、對象檢測和定位、姿勢估計、語義分割、視頻增強和智能分析。
圖 3 顯示了來自在線可用模型的推理基準測試的結果。有關在Jetson Nano 上運行這些基準測試的說明,請參閱此處。推理使用批量大小 1 和 FP16 精度,使用 JetPack 4.2 中包含的 NVIDIA 的TensorRT加速器庫。Jetson Nano 在很多場景下都獲得了實時性能,并且能夠處理多個高清視頻流。
圖 3. 使用 Jetson Nano 和 TensorRT 的各種深度學習推理網絡的性能,使用 FP16 精度和批量大小 1
表 2 提供了完整結果,包括 Raspberry Pi 3、英特爾神經計算棒 2 和 Google Edge TPU Coral 開發板等其他平臺的性能:
由于內存容量有限、網絡層不受支持或硬件/軟件限制,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 同時在八個 1080p30 流上執行對象檢測,同時基于 ResNet 的模型以全分辨率和每秒 500 兆像素 (MP/s) 的吞吐量運行。
圖 4 中的框圖顯示了一個示例 NVR 架構,該架構使用 Jetson Nano 通過深度學習分析通過千兆以太網攝取和處理多達 8 個數字流。該系統可以解碼 500 MP/s 的 H.264/H.265 和編碼 250 MP/s 的 H.264/H.265 視頻。
圖 4. 具有 Jetson Nano 和 8x 高清攝像頭輸入的參考 NVR 系統架構
計劃在 2019 年第二季度發布對 Jetson Nano 的 DeepStream SDK 支持。請加入DeepStream 開發人員計劃以接收有關即將發布的版本的通知。
噴氣機器人
NVIDIAJetBot是一個新的開源自主機器人套件,它提供了所有軟件和硬件計劃,以低于 250 美元的價格構建一個人工智能驅動的深度學習機器人。硬件材料包括 Jetson Nano、IMX219 8MP 攝像頭、3D 打印機箱、電池組、電機、I2C 電機驅動器和配件。
該項目通過 Jupyter 筆記本為您提供易于學習的示例,介紹如何編寫 Python 代碼來控制電機、訓練 JetBot 檢測障礙物、跟蹤人和家庭物體等物體,以及訓練 JetBot 跟蹤地板周圍的路徑。通過擴展代碼和使用 AI 框架,可以為 JetBot 創建新功能。
JetBot也有可用的ROS 節點,為那些希望集成基于 ROS 的應用程序和功能(如 SLAM 和高級路徑規劃)的人支持 ROS Melodic。包含 JetBot ROS 節點的 GitHub 存儲庫還包括 Gazebo 3D 機器人模擬器模型,允許在虛擬環境中開發和測試新的 AI 行為,然后再部署到機器人上。Gazebo 模擬器生成合成相機數據并在 Jetson Nano 上運行。
你好人工智能世界
Hello AI World提供了一種很好的方式來開始使用 Jetson 并體驗 AI 的力量。只需幾個小時,您就可以在帶有 JetPack SDK 和 NVIDIA TensorRT 的 Jetson Nano 開發人員套件上啟動并運行一組深度學習推理演示,用于實時圖像分類和對象檢測(使用預訓練模型)。本教程側重于與計算機視覺相關的網絡,包括實時攝像頭的使用。您還可以使用 C++ 編寫自己的易于理解的識別程序。可用的深度學習 ROS 節點將這些識別、檢測和分割推理功能與ROS集成用于集成到先進的機器人系統和平臺中。這些實時推理節點可以輕松放入現有的 ROS 應用程序中。
想要嘗試訓練自己的模型的開發人員可以遵循完整的“兩天演示”教程,該教程涵蓋了圖像分類、對象檢測和語義分割模型的重新訓練和自定義遷移學習。遷移學習微調特定數據集的模型權重,避免從頭開始訓練模型。遷移學習在連接了 NVIDIA 離散 GPU 的 PC 或云實例上執行最為有效,因為訓練需要比推理更多的計算資源和時間。
然而,由于 Jetson Nano 可以運行 TensorFlow、PyTorch 和 Caffe 等完整的訓練框架,它還可以為那些可能無法使用另一臺專用訓練機并愿意等待更長時間等待結果的人使用遷移學習進行重新訓練。表 3 突出顯示了使用 PyTorch 使用 Jetson Nano 在 200,000 張圖像、22.5GB 的 ImageNet 子集上訓練 Alexnet 和 ResNet-18 從兩天到演示教程的遷移學習的一些初步結果:
每個 epoch 的時間是完全通過 200K 圖像的訓練數據集所需的時間。分類網絡可能只需要 2-5 個 epoch 即可獲得可用結果,生產模型應在離散 GPU 系統上進行更多 epoch 的訓練,直到達到最大準確度。但是,Jetson Nano 通過讓網絡在一夜之間重新訓練,使您能夠在低成本平臺上試驗深度學習和 AI。并非所有自定義數據集都可能與此處使用的 22.5GB 示例一樣大。因此,圖像/秒表示 Jetson Nano 的訓練性能,每個 epoch 的時間隨數據集的大小、訓練批次大小和網絡復雜度而縮放。其他模型也可以通過增加訓練時間在 Jetson Nano 上重新訓練。
面向所有人的人工智能
Jetson Nano 的計算性能、緊湊的占用空間和靈活性為開發人員創建人工智能驅動的設備和嵌入式系統帶來了無限的可能性。
關于作者
Dustin 是 NVIDIA Jetson 團隊的一名開發人員推廣員。Dustin 擁有機器人技術和嵌入式系統方面的背景,喜歡在社區中提供幫助并與 Jetson 合作開展項目。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
5026瀏覽量
103288 -
gpu
+關注
關注
28文章
4754瀏覽量
129089 -
計算機
+關注
關注
19文章
7520瀏覽量
88265
發布評論請先 登錄
相關推薦
評論