正文
1.系统不仅要会思考,而且还能对情境立即做出“响应”。这就要求一个从感应到处理、分析、决策、通信和控制整个流程中更一致的视图。同时还要高效实施、部署最新机器学习技术,满足8位及更深层面的精确性要求。注意,针对机器学习训练优化的技术继续偏离对机器学习推断优化的技术。 赛灵思已经专门为推断技术优化了其全可编程器件系列。
图4:下一代视觉导向系统的应用使命
2.鉴于神经网络和相关算法的快速变化以及传感器的快速发展,必须实现灵活性,能通过软硬件的可重配置性升级系统。
3.由于许多新系统都连接到了一起(物联网),因此需要既能与传统的已有设备通信,也能与未来推出的新设备通信,同时还要能够进行云端通信。赛灵思将此定义为任意互联。
赛灵思器件可以独特地支持以上所有三大使命, 且比其它替代方案拥有显著的和可测量的优势。 通过高效的推断和控制,赛灵思实现了传感器的最快响应时间,支持最新的神经网络,算法和传感器的可重构性,并支持与传统或新机器、网络和云的任意连接。
图5:赛灵思独特的应用优势
然而,赛灵思器件的这些优势原来只有那些拥有硬件或者RTL 设计专长的专业用户才能受益,对于更广泛的应用和支持使用行业标准库和框架进行软件定义编程,还存在巨大的障碍。 reVISION堆栈的诞生, 解决了这个通往广泛应用的障碍。
图6:广泛应用的障碍
reVISION STACK
图7:赛灵思reVISION 堆栈
赛灵思 reVISION 堆栈包括用于平台、算法和应用开发的丰富的开发资源,支持最流行的神经网络(诸如 AlexNet、GoogLeNet、SqueezeNet、SSD 和 FCN)以及库元素(如 CNN 网络层的预定义优化型实现方案,这也是构建定制神经网络 DNN/CNN 所需的)。配合丰富的满足加速要求的 OpenCV 功能,支持机器视觉处理。对应用层面的开发来说,赛灵思支持流行的框架,包括用于机器学习的 Caffe 和用于计算机视觉的 OpenVX(将于 2017 年下半年推出)。reVISION 堆栈还包括赛灵思和第三方提供的基于 Zynq SoC 和 MPSoC 的开发平台。
移除了通往广泛应用的障碍
reVISION 堆栈支持一大批广泛的设计团队无需深层的硬件专业技术,使用软件定义开发流程就能将机器学习和计算机算法的高效实现方案整合到响应迅速的系统中。
图8:reVISION 的软件定义设计流程
如图 8 所示,reVISION 开发流程从 熟悉的C、C++ 和/或 OpenCL 语言及相关编译器技术的基于 eclipse 的开发环境(即 SDSoC 开发环境)启动。在 SDSoC 环境中,软件工程师和系统工程师能以 reVISION 硬件平台为目标,并采用大量的加速就绪型计算机视觉库,很快还能采用OpenVX框架,从而快速构建应用。
对于机器学习,我们可用 Caffe 等流行的框架来培训神经网络,用 Caffe 生成的 .prototxt 文件对基于 ARM 的软件调度器进行配置,从而驱动专门为可编程逻辑预先优化的CNN 推断加速器。
对计算机视觉和其他专有算法来说,用户可对软件代码进行特征分析,发现瓶颈,并在代码中标出希望加速并进行“硬件优化”的特定功能。“系统优化编译器”则用来创建加速的实现方案,包括处理器/加速器接口(数据移动器)和软件驱动器。结合计算机视觉和机器学习功能,该编译器能创建优化的融合实现方案。