資料介紹
描述
邊緣機器學習應用
功能強大但低功耗的單板計算機的出現意味著每個步驟都可以在設備本身上完成,而不是像在典型的機器學習工作流程中那樣在本地收集數據并將其發(fā)送到云端進行處理和推理。這意味著工業(yè)監(jiān)控、健康跟蹤和自動化農業(yè)等應用都可以變得更加高效和準確。
SK-TDA4VM 和 Jetson Nano
NVIDIA 的 Jetson Nano 開發(fā)套件于 2019 年發(fā)布,配備 128 核 Maxwell GPU 以及主頻為 1.43GHz 的四核 ARM A57 CPU。此外,該套件還具有 4GB LPDDR4 內存、HDMI/顯示端口連接器、千兆以太網和四個 USB 3.0 端口以及一個 40 針 GPIO 接頭和雙 CSI 攝像頭連接器。
相反,德州儀器 (TI) 的 SK-TDA4VM 套件包含雙核 Arm Cortex-A72 CPU、DSP、深度學習、視覺和多媒體加速器、4GB LPDDR4 內存、四個 USB 端口、千兆以太網和 HDMI/Display Port 顯示輸出. 要添加更多攝像頭,沿邊緣有兩個 CSI 攝像頭連接器,在板的底部還有一個 40 針 Semtec 連接器。與 Jetson Nano 不同,SK-TDA4VM 包含一個用于 WiFi/藍牙卡的 M.2 E-key 插槽和一個用于 SSD 或其他 PCIe x 4 設備的 M.2 M-key 插槽。查看之前的入門指南,了解有關如何設置套件和運行簡單演示的更多信息。
現有項目
該項目的起點是使用 JetPack4.5 用 Python 3.6編寫的一個簡單示例,它從 COCO17 數據集中獲取 20 張調整大小的圖像,并將它們傳遞到從 TensorFlow 網站獲取的SSD MobileNet V1 TensorFlow Lite 模型。一旦設置了輸入數據,Jetson Nano 就會在 CPU 上運行 TFLite 解釋器,并計算輸出結果所需的時間。在以 5W 的最大功耗運行總共 20 次迭代后,平均運行時間為223
milliseconds
每次推理。應該注意的是,由于 Jetson Nano 上的 TFLite 模型的功耗有限且缺乏 GPU 計算,這個數字高于優(yōu)化運行時的數字。
編譯優(yōu)化的 TensorFlow 模型
TDA4VM 的架構要求現有的預訓練機器學習模型(例如.tflite
文件)必須先經過編譯才能在硬件上運行,以利用硬件加速器。正如我在入門指南中看到的那樣,TI 提供了一個模型動物園,可以從中以正確的格式下載預訓練模型。它們不僅包括.tflite
文件,還param.yaml
包括包含有關模型和各種其他工件的信息的文件。
為了導入自定義的 TensorFlow Lite 模型,必須首先設置編譯環(huán)境。該工具集已針對在 x86 或 aarch64 架構上運行的 Ubuntu 18.04 進行了驗證。我能夠在 Windows 10 上的WSL 2下安裝 Linux 環(huán)境,以簡化設置過程。從這里,我運行了以下命令來克隆存儲庫并配置文件夾:
$ git clone https://github.com/TexasInstruments/edgeai-tidl-tools.git
$ cd edgeai-tidl-tools
在執(zhí)行下面的腳本之前,我編輯了 requirements_pc.txt 文件以將行更改onnx
為onnx==1.4.1
,因為安裝最新版本時出現問題。
$ source ./setup.sh --skip_cpp_deps
如果出現提示,請選擇J721E
作為目標設備。跑步
$ ./scripts/run_python_examples.sh
以確保編譯成功。此外,查看./model-artifacts
和./models
目錄以查看生成的工件。
為了編譯模型,首先導航到examples/osrt_python
目錄并打開model_configs.py
文件。要添加新條目,只需在字典中附加模型參數,同時更改model_path
以反映模型的存儲位置。例如,這是我的 SSD_MobileNet_V1 TensorFlow Lite 模型的條目:
'od-tfl-ssd_mobilenet_v1_1' : {
'model_path' : os.path.join(models_base_path,'ssd_mobilenet_v1_1_metadata_1.tflite'),
'mean': [127.5, 127.5, 127.5],
'scale' : [1/127.5, 1/127.5, 1/127.5],
'num_images' : numImages,
'num_classes': 91,
'model_type': 'od',
'session_name' : 'tflitert',
'od_type' : 'HasDetectionPostProcLayer'
}
如果您的模型屬于不同類型,還可以檢查列出的許多其他條目。編輯第 231 行tfl/tflrt_delegate.py
以用新添加的條目替換現有的條目數組,然后運行
$ cd tfl
$ python3 tflrt_delegate.py -c
在不運行推理的情況下編譯模型。需要注意的是,TIDL 提供了多種部署選項,涵蓋 TFLite、ONNX 和 TVM/Neo-AI 運行時。有關詳細信息,請參閱此處存儲庫中的 README 文件。
整合模型
現在模型已經編譯,來自相應文件夾/文件的工件model-artifacts
可以models
通過 SFTP 復制到 TDA4VM 套件。就像 Jetson Nano 程序一樣,為 SK-TDA4VM 編寫的 Python 代碼會創(chuàng)建多個隨機圖像,并將它們作為輸入傳遞給 tflite 模型,同時計算推理所需的時間。對于其他項目,/opt/edge_ai_apps/apps_python
默認 SK-TDA4VM 操作系統映像附帶的 Python 演示應用程序是一個很好的起點。
性能比較
平均而言,TDA4VM 能夠使用相同的 320x320 UINT8 圖像執(zhí)行推理9 milliseconds
,由于其板載加速器硬件,與 Jetson Nano 相比,速度提高了 24 倍。如需更詳細的推理數據,包括結果和性能指標,您可以將以下目錄復制到 TDA4VM 初學者工具包的本地安裝的 repo中:
./model-artifacts
./models
./dockers/J721E/PSDKRA/setup.sh
然后運行腳本:
$ cd examples/osrt_python/tfl
$ python3 tflrt_delegate.py
可以按照 edgeai-benchmark 存儲庫中的說明對準確性進行基準測試。有關 TIDL 工具和 SDK 的更多信息,請務必查看存儲庫和SK-TDA4VM 套件的文檔。
更進一步
Edge Impulse不是獲取預訓練的 TensorFlow 模型,將其轉換為 TensorFlow Lite,然后使用 TIDL 實用程序生成工件,而是使其變得極其簡單,因為項目只需單擊一個按鈕即可部署模型。此存儲庫包含有關創(chuàng)建新項目、下載訓練數據、構建自定義學習塊以及運行 Docker 容器以輸出訓練tflite
和onnx
模型的說明。edge -impulse-linux-runner 命令會將優(yōu)化模型下載到設備并開始分類,并在網絡瀏覽器中提供輸出。
- 了解TDA4VM或DRA829存儲器以獲得出色性能
- TDA4VM Jacinto?處理器數據表
- 面向TI TDA4VM處理器的恩智浦PMIC解決方案
- 開始使用TI SK-TDA4VM開發(fā)套件
- 使用Jetson Nano構建人臉識別系統
- 基于Jetson NANO的助手機器人
- NVIDIA Jetson Nano上的智能視頻分析
- CUDA與Jetson Nano:并行Pollard Rho測試
- 使用Jetson Nano的CSI相機接口
- Nvidia Jetson Nano面罩Yolov4探測器
- 從SXX32F103移植到MH32F103A教程 6次下載
- 玩轉智能硬件(三)Jetson Nano深度學習環(huán)境搭建
- NVIDIA Jetson Nano 電源適配器 (供電)
- YOLO v4在jetson nano的安裝及測試
- 將RT-Thread Nano移植到STM32F401CCU6
- 【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系 362次閱讀
- 【GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列 348次閱讀
- i.MX RT1170:VGLite移植RT-Thread Nano過程講解(下) 738次閱讀
- i.MX RT1170:VGLite移植RT-Thread Nano過程講解(上) 2094次閱讀
- 我將GuiLite移植到了STM32F4開發(fā)板上 1078次閱讀
- 如何將現有的TDA5200或者TDA5201設計修改為MAX1470超外差接收機 733次閱讀
- 如何將FreeRTOS移植到STM32單片機上 2867次閱讀
- 如何將ThreadX移植到STM32H7平臺 1793次閱讀
- 簡單易學的Jetson Nano問題排除小秘訣 7867次閱讀
- 使用NVIDIA Jetson Orin Nano解決入門級邊緣人工智能挑戰(zhàn) 2175次閱讀
- 將Jetson AGX Orin開發(fā)者套件轉化為任何Jetson Orin模塊 1762次閱讀
- 如何創(chuàng)建RT-Thread Nano工程 3572次閱讀
- 微雪電子NVIDIA Jetson Nano人工智能開發(fā)套件AI板介紹 5400次閱讀
- 用Jetson Nano打造您的專屬機器人 1.1w次閱讀
- 一文詳解TI的grlib圖形庫移植到Atmel SAM4套件 4542次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多