TIDL
用于加速 TI
嵌入式设备上的深度神经网络 (DNN
)。 它支持 TI 的最新一代处理器 TI Jacinto7 TDA4 处理器。 TDA4 处理器属于 TI Jacinto7 家族的处理器,基于异构、可扩展的架构开发,此架构包含了 TI 数字信号处理 C7x DSP 和 C66x DSP、Cortex A72、Cortex-R5F、图形处理器 GPU 等核,拥有 MMA深度学习加速器,属于多核异构的架构。Cortex A72 可用于通用计算、图形处理器 GPU 用于 3D 图像的加速、DSP 可用于算法的加速、C7x&MMA 可支持深度学习的处理、Cortex-R5F 可用于外设的控制和图像的前后处理等。多核异构的优点是采用适合的核做擅长的事,再加上专用硬件加速器也可处理特定任务,从而在性能、功耗和成本上达到最佳平衡。
TDA4 处理器集成了 TI 最新一代 C7x DSP 和 TI 的 DNN 加速器 (MMA) 用于执行 DNN。 TIDL 可用于德州仪器 (TI) 的各种嵌入式设备,是作为 TI 软件开发套件 (SDK) 的一部分发布的,同时还有其他计算机视觉功能和优化的库,包括 OpenCV。
基于深度神经网络 (DNN) 的机器学习算法用于许多行业,例如机器人、工业和汽车。越来越多的基于 DNN 的机器学习算法被应用于 ADAS
产品中,这些神经网络通常需要大量的计算,这些计算都可以在TI TDA4 系列处理器中的 C7x DSP 和 MMA 中高效地运行。RTOS SDK 中集成了众多的 Demo 展示 TIDL在 TDA4 处理器上对实时的语义分割和 SSD 目标检测的能力。TIDL 当前支持的训练框架有 Tensorflow
、Pytorch
、Caffe
等,用户可以根据需要选择合适的训练框架进行模型训练。如图 1 所示,是 TIDL 的软件框架。在 TIDL 上,深度学习网络应用开发主要分为三个大的步骤(以TI Jacinto7 TDA4VM
处理器为例):
- 基于 Tensorflow、Pytorch、Caffe 等训练框架,训练模型:选择一个训练框架,然后定义模
型,最后使用训练的数据集训练出满足需求的模型。 - 基于 TI Jacinto7 TDA4VM 处理器导入模型: 训练好的模型,需要使用
TIDL Importer
工具导入成可在 TIDL 上运行的模型。导入的主要目的是对输入的模型进行量化、优化并保存为TIDL 能够识别的网络模型和网络参数文件。 - 基于 TI Jacinto7 SDK 验证模型,并在应用里面部署模型:
a. PC 上验证并部署
i. 在 PC 上使用 TIDL 推理引擎进行模型测试。
ii. 在 PC 上使用 OpenVX 框架开发程序,在应用上进行验证。
b. EVM 上验证并部署
i. 在 EVM 上使用 TIDL 推理引擎进行模型测试。
ii. 在 EVM 上使用 OpenVX 框架开发程序,在应用上进行验证。