筆者從 2019 年開始使用 NVIDIA Jetson Nano 開發套件,一開始是被 NVIDIA 當時推出的 Jetbot 智能小車所吸引,這套 2,000 元以內能實現智能避撞功能的小車,總共使用 10 個左右的部件(如下圖),大約花了 6 小時左右時間,幾乎無需焊接即可完成小車的組裝,然后就可開始執行教程里的幾個基本功能,十分省心。
雖然后續并沒有持續在智能小車上開發更多應用,但是 Jetbot 所使用的 Jetson Nano 開發套件,卻成為筆者學習人工智能與邊緣計算的最重要工具,因為它解決了不少對筆者造成困擾的問題,主要如下:
(一)滿足雙系統操作
由于近年來人工智能技術都是基于人工神經網絡的基礎,而 CUDA GPU經過 10 年以上的驗證,是目前最適合執行大型神經網絡的計算架構,因此筆者最初學習人工智能應用時,就是在一臺 x86 系統上安裝 CUDA 架構的 GPU 計算卡,最入門的設備也只需要 5,000 人民幣的購置成本,以及 500W 以上的使用功耗。
最麻煩的問題,就是大部分關于人工智能的資源是基于 Linux 操作系統發展的,如果要復現前人的精華成果,就得在大致相同的環境下進行操作。但是 Linux 操作系統上缺少很多日常辦公用途的軟件,例如微信、QQ、Photoshop 等依賴度高的應用,因此搭建“雙系統”環境就成為第一個挑戰。
這里的“雙系統”并非指在一臺機器上安裝兩個可啟動的操作系統,然后在開機時選擇要啟動 Windows 或 Ubuntu 系統,因為這種方式一次也只能啟動一個,并不能解決前面所提到的問題。
以下提供兩種解決方案:
使用虛擬機技術
VMware 或 Virtual Box 等虛擬機可能是比較好的選擇,但目前這些技術并不支持直連 GPU 的功能,如果在 Windows 操作系統搭建 Ubuntu 虛擬機,是無法提供對 CUDA 開發環境的支持,也就無法執行 GPU 的智能計算功能。
于是解決的方案就是在 x86 機器上先安裝 Ubuntu 操作系統,然后創建 Windows 的虛擬機,這樣就能在 Ubuntu 上執行編程調試等開發任務,在 Windows 虛擬機上執行辦公相關的操作,是目前看來比較合適的搭配。
最終存在的問題,就是您得將 Windows 操作系統完整遷移到虛擬機上,否則從頭創建一個新的操作環境,代表很多設定或密碼也得重來一次。
使用兩套獨立系統
大部分先進技術工作者都會使用便攜式辦公設備,例如筆記本電腦或平板電腦,而這類設備幾乎都不具備 CUDA GPU 開發能力。因此要學習或開發人工智能應用的話,就需要另一臺具備 CUDA 開發環境的獨立系統,然后從慣用的辦公設備去遠程操作 CUDA 計算設備,這樣的組合是最合適的方式,互相不影響。
在 NVIDIA 推出 Jetson 嵌入式設備之前,我們只能選擇在 x86 電腦插上 CUDA 架構 GPU 計算卡的方式。由于體積、重量和電源等方面等限制,這種設備不能隨身攜帶到任何地方進行開發、測試或演示。
如今 Jetson Nano 的特性能解放這些束縛,讓我們能在絕大部分環境下執行任務。下表是 Jetson Nano 與 x86 系統安裝 GPU 卡的一些基本特性比較表:
Jetson Nano 定位在智能邊緣的推理計算,并不適合執行人工智能的模型訓練任務,以及對“延遲”較為敏感的應用,但是作為入門者的學習工具,以及開發輕量級的邊緣智能推理應用,是再適合不過了。
(二)隨時隨地操作
要執行遠程操作的前提,就是需要在兩臺設備上形成連線。在辦公室或家中有網絡的環境下,可以較為輕松地使用 Wi-Fi 方式進行連線,但如果在沒有網絡或不能自主獲取 IP 的環境下,為兩臺設備建立連線則有一些挑戰。
NVIDIA 為 Jetson Nano 提供一種“無頭(headless)”連線方式,只需要一條具備數據傳輸能力的 USB/MicroB 連接線,在 Jetson Nano 與辦公電腦之間,按照下圖接線就能形成連線,此時 Jetson Nano 會提供一個 192.168.55.1 的固定 IP,這樣就能在辦公電腦上非常輕松地操作 Jetson Nano。
此外,如果所處環境缺乏電源插口,我們也可以用一般 5V 充電寶來為 Jetson Nano 提供電源,如此一來就完全不會受到任何的限制,只要帶好筆記本電腦、Jetson Nano、USB 線以及充電寶這四個東西,就能在任何地方執行任務,這是 x86 電腦所不能提供的特性。
(三)快速搭建開發環境
大部分在 x86 系統上使用 CUDA 開發資源的初學者,一開始最痛苦的經歷都在“環境調試”的過程,除了根據 GPU 卡型號挑選正確驅動版本之外,緊跟著就是CUDA、cuDNN、TensorRT 這三者之間的版本匹配問題,然后再往上添加 TensorFlow、PyTorch、ONNX 等框架,整個過程都需要非常細膩的版本對應,任何一個環節出錯,都可能需要將前面的安裝全部推倒重來,十分消耗時間與精力。
要執行計算機視覺相關應用,大部分會以 OpenCV 這套普及率高的開源庫為主,如果使用開源包進行完整的安裝,在過程不出錯的狀況下大約需要 1 個多小時,幾乎沒有哪個新手能一次就安裝成功。
總的來說,要在 x86 系統上安裝并調試好能工作的 CUDA 開發環境,根據經驗,即便是熟手也得 6 小時以上時間,很多新手可能都得花個 2~3 天時間才能完成,有些人在這個階段就會產生放棄的念頭。
NVIDIA 為 Jetson Nano 開發套件設計 TF 卡啟動方式,并為其提供官方安裝鏡像文件,只要到指定的地方下載 7G 以內的文件,然后使用推薦的軟件燒錄到 TF 卡里,接著插入 Jetson Nano 卡槽內,再開啟電源就可以。
正常狀況下能在 1 個小時以內完成,使用者不需要執行任何安裝指令,就能得到一個調試好的 CUDA/cuDNN/TensorRT/OpenCV 開發環境與開源范例,非常輕松。
我們還可以用多張 TF 卡來確保不同應用的環境獨立性,例如 Python 的 NumPy 庫就經常發生在不同應用之間的版本沖突問題,最好的解決方式就是為不同應用提供獨立的 TF 卡,而不需要在一個環境中去設立多個 env 或 conda 虛擬環境。
筆者自己就用了 4 張 64GB 的 TF 卡,分別針對 Jetbot 小車、DeepStream 智能分析、YOLO 口罩識別與機械手臂操作的應用開發,提供互不干擾的開發環境,大量節省調試兼容性的精力。
(四)更廣泛的應用場景
雖然 Jetson Nano 的計算性能遠遠不如 x86 安裝 CUDA GPU 卡,但這款嵌入式設備就是為鎖定在低功耗的邊緣應用領域而設計,面向絕大部分智能推理識別的計算是相當足夠的,并且還提供一組 40 針兼容擴充引腳,可以使用市場上絕大部分周邊設備,自行采購來擴充作為機械手臂之類的機電控制應用。
例如 Jetbot 小車所使用的 CSI 攝像頭、OLED 顯示板、PCA9685+TBB6612 機電控制板、低功率電機等等,都是在網上可以用很低成本采購到的元器件,讓開發者能夠根據想要解決的問題,開發更廣泛的應用。
NVIDIA 在https://developer.nvidia.com/embedded/community/jetson-projects 提供上百個基于 Jetson Nano 所創建的項目,這里不僅提供效果演示視頻,還提供項目復現的開源內容,使用者可以基于這些項目所提供的資源,非常輕易地創建符合自己需求的 AI 邊緣應用,這些都是在 x86 系統上很難實現的特點。
寫在最后
最后再為讀者總結一下 Jetson Nano 的優點:
1、高性能計算能力:配備了 NVIDIA Maxwell 架構的 128 核 GPU,可以處理大量的計算工作,包括深度學習、圖像處理、視頻編解碼等任務。
2、低功耗:Jetson Nano 開發套件的功耗只有 5W,是傳統計算機的十分之一,這意味著它可以在移動設備、嵌入式系統、機器人等低功耗場景中使用。
3、強大的軟件支持:支持多種人工智能和機器學習框架,包括 TensorFlow、PyTorch、Caffe 等,并且還提供了 NVIDIA JetPack 軟件套件,可以快速啟動和配置系統。
4、多種接口和擴展性:提供多種接口和擴展選項,包括 HDMI、USB、GPIO、CSI 等,可以輕松地連接各種傳感器、顯示器和外部設備。
5、適用于多種應用場景:由于其高性能、低功耗和強大的軟件支持,Jetson Nano 開發套件可以用于多種應用場景,包括智能攝像頭、無人機、自動駕駛車輛、機器人、醫療設備等。
如今,基于 Jetson 平臺的開發者人數已經突破百萬,NVIDIA 依舊不斷為這個平臺灌注豐富并且易用的 AI 開發資源,大部分開發人員都能在短期內掌握 AI 應用開發技能與提升性能的技巧,足以證明 Jetson Nano 是目前成本低、使用場景廣泛的快速 AI 邊緣計算的學習平臺,即便您只是要用來學習最基礎的 C/C++ 或 Python 開發語言、計算機視覺 OpenCV 應用,這都是獲取成本低、見效快的神器。
*本文中圖片均由 GPUS 開發者社區的 Jetson 開發者提供,如果您有任何疑問或需要使用本文中圖片,請聯系GPUS 開發者社區。
即刻點擊“閱讀原文”,在 NVIDIA On-Demand 上觀看 GTC 精選回放,包括主題演講相關精選、中國本地精選內容、生成式 AI 專題以及全球各行業及領域最新成果!
原文標題:Jetson Nano 是學習 AI 邊緣計算的神器
文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
-
英偉達
+關注
關注
22文章
3771瀏覽量
90997
原文標題:Jetson Nano 是學習 AI 邊緣計算的神器
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論