目前,人工智能基础性算法已经较为成熟,各大厂商纷纷发力建设算法模型工具库,并将其封装为软件框架,供开发者使用,可以说软件框架是算法的工程实现。企业的软件框架实现有闭源和开源两种形式:苹果公司等少数企业选择闭源方式开发软件框架,目的是打造技术壁垒;目前业内主流软件框架基本都是开源化运营。
基于深度学习的推断的计算量相对训练过程小很多,但仍涉及到大量的矩阵卷积、非线性变换等运算,为了满足在终端侧限定设备性能及功耗等因素的场景下,业界也开发了众多开源的终端侧软件框架。
Caffe2go 是早出现的终端侧推断软件框架,能够让深层神经网络在手机上高效的运行。由于终端侧的 GPU 设备性能有限,Caffe2go是基于 CPU 的优化进行设计。
TensorFlow Lite 可以运行在 Android 和 iOS 平台,结合 Android 生态的神经网络运行时能够实现较为高效的 AI 移动端应用速度。
NCNN 是腾讯开源的终端侧 AI 软件框架,支持多种训练软件框架的模型转换,是主要面向CPU的AI模型应用,无第三方依赖具有较高的通用性,运行速度突出,是国内目前较为广泛使用的终端侧 AI 软件框架。
Core ML 是苹果公司开发的 iOS AI软件框架,能够对接 Caffe、PyTorch、MXNet、TensorFlow 等绝大部分 AI 模型,并且自身提供了常用的各种手机端 AI 模型组件,目前也汇集了众多开发者及贡献力量。
Paddle-mobile 是百度自研的移动端深度学习软件框架,主要目的是将 Paddle 模型部署在手机端,其支持 iOS GPU 计算。但目前功能相对单一,支持较为有限。
TensorRT是英伟达(NVIDIA)开发的深度学习推断工具,已经支持 Caffe、Caffe2、TensorFlow、MXNet、PyTorch 等主流深度学习库,其底层针对NVIDIA显卡做了多方面的优化,可以和CUDA编译器结合使用。
目前主要产业巨头均推出了基于自身技术体系的训练及推断软件框架,但由于目前产业生态尚未形成,深度学习模型表示及存储尚未统一,训练软件框架及推断软件框架尚未形成一一对应关系,技术生态争夺将继续持续。(部分内容来源于网络如有侵权请联系删除)
欢迎您分享文章,让更多有需要的人看到。
网友评论