资料介绍
描述
边缘机器学习应用
功能强大但低功耗的单板计算机的出现意味着每个步骤都可以在设备本身上完成,而不是像在典型的机器学习工作流程中那样在本地收集数据并将其发送到云端进行处理和推理。这意味着工业监控、健康跟踪和自动化农业等应用都可以变得更加高效和准确。
SK-TDA4VM 和 Jetson Nano
NVIDIA 的 Jetson Nano 开发套件于 2019 年发布,配备 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 计算,这个数字高于优化运行时的数字。
编译优化的 TensorFlow 模型
TDA4VM 的架构要求现有的预训练机器学习模型(例如.tflite
文件)必须先经过编译才能在硬件上运行,以利用硬件加速器。正如我在入门指南中看到的那样,TI 提供了一个模型动物园,可以从中以正确的格式下载预训练模型。它们不仅包括.tflite
文件,还param.yaml
包括包含有关模型和各种其他工件的信息的文件。
为了导入自定义的 TensorFlow Lite 模型,必须首先设置编译环境。该工具集已针对在 x86 或 aarch64 架构上运行的 Ubuntu 18.04 进行了验证。我能够在 Windows 10 上的WSL 2下安装 Linux 环境,以简化设置过程。从这里,我运行了以下命令来克隆存储库并配置文件夹:
$ git clone https://github.com/TexasInstruments/edgeai-tidl-tools.git
$ cd edgeai-tidl-tools
在执行下面的脚本之前,我编辑了 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 代码会创建多个随机图像,并将它们作为输入传递给 tflite 模型,同时计算推理所需的时间。对于其他项目,/opt/edge_ai_apps/apps_python
默认 SK-TDA4VM 操作系统映像附带的 Python 演示应用程序是一个很好的起点。
性能比较
平均而言,TDA4VM 能够使用相同的 320x320 UINT8 图像执行推理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 实用程序生成工件,而是使其变得极其简单,因为项目只需单击一个按钮即可部署模型。此存储库包含有关创建新项目、下载训练数据、构建自定义学习块以及运行 Docker 容器以输出训练tflite
和onnx
模型的说明。edge -impulse-linux-runner 命令会将优化模型下载到设备并开始分类,并在网络浏览器中提供输出。
- 了解TDA4VM或DRA829存储器以获得出色性能
- TDA4VM Jacinto™处理器数据表
- 面向TI TDA4VM处理器的恩智浦PMIC解决方案
- 开始使用TI SK-TDA4VM开发套件
- 使用Jetson Nano构建人脸识别系统
- 基于Jetson NANO的助手机器人
- NVIDIA Jetson Nano上的智能视频分析
- CUDA与Jetson Nano:并行Pollard Rho测试
- 使用Jetson Nano的CSI相机接口
- Nvidia Jetson Nano面罩Yolov4探测器
- 从SXX32F103移植到MH32F103A教程 6次下载
- 玩转智能硬件(三)Jetson Nano深度学习环境搭建
- 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开发板上 1078次阅读
- 如何将现有的TDA5200或者TDA5201设计修改为MAX1470超外差接收机 733次阅读
- 如何将FreeRTOS移植到STM32单片机上 2867次阅读
- 如何将ThreadX移植到STM32H7平台 1793次阅读
- 简单易学的Jetson Nano问题排除小秘诀 7867次阅读
- 使用NVIDIA Jetson Orin Nano解决入门级边缘人工智能挑战 2175次阅读
- 将Jetson AGX Orin开发者套件转化为任何Jetson Orin模块 1762次阅读
- 如何创建RT-Thread Nano工程 3572次阅读
- 微雪电子NVIDIA Jetson Nano人工智能开发套件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开发指南
- 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次下载 | 免费
评论
查看更多