更全的杂志信息网

开源深度学习框架发展现状与趋势研究

更新时间:2009-03-28

一、概述

浅层学习起源上世纪20年代人工神经网络的反向传播算法(Back-Propagation)的发明,这时候的人工神经网络算法也被称为多层感知机MLP(Multiple Layer Perception),但由于多层网络训练困难,通常都是只有一层隐含层的浅层模型。Hinton在2006年提出了神经网络Deep Learning算法,它是传统神经网络(Neural Network)的发展,两者采用了相似的分层结构,但是深度学习采用了不同的训练机制,具备强大的表达能力。

 

深度学习是机器学习的第二次浪潮,除了学术界,国内外产业巨头也纷纷意识到通过开源技术建立产业生态是抢占产业制高点的重要手段,因此各种开源深度学习框架也层出不穷,按照开源面世的大致时间顺序排列,包括Theano(2012年以前)、Caffe(2013年底)、Torch(2014年)、DeepLearning4J(2014年)、TensorFlow(2015年)、Keras(2015年)、Neon(2015年)、Chainer(2015年)、CNTK(2016年初)、MXNet(2016年)、PaddlePaddle(2016年)、PyTorch(2017年初)、Caffe2(2017年)等,已有研究对部分框架进行研究,但是技术发展日新月异,有必要对相关技术持续跟踪。

本文关注深度学习开源框架的技术、应用、开源社区生态发展现状,在第2节选择部分主流框架从开发者、技术路线、应用场景、发展策略等多角度展开综合论述,在第3节从技术生态角度分析了开源框架的现状,并在第4节总结深度学习框架的发展趋势,最后给出全文小结。

二、开源框架

(一)Caffe和Caffe2

在Caffe出现之前,深度学习领域缺少一个完全公开所有代码、算法和各种细节的框架。Caffe是贾扬清在美国伯克利大学在读博士期间开发的深度学习框架,目前由伯克利大学主导,完全开源。

Caffe主要的代码由C++语言实现,并且提供了Python Layer来方便实现算法原型。Caffe给出了模型的定义、最优化设置以及预训练的权重,该框架只能够使用卷积网络,用户可以使用Caffe提供的各层类型来定义自己的模型。Caffe中定义了三种基本结构,包括:数据容器Blobs,用来存储、传递、处理数据;Layers,是Caffe模型运算的基本单元,内置了卷积、聚合、内积、阶跃、正则化、损失计算等基本算法;Nets,Nets是由一系列Layer及其连接组合形成的网状图。Caffe一开始主要是为图像领域的应用所设计,特别适合图像分类的应用场景,所以在其他更加一般的机器学习、语音识别等问题上,Caffe的框架并不一定是最优的。

  

图1 Caffe与Caffe2的主要区别

贾杨清博士入职Facebook之后,Facebook很快推出了Caffe2,这是一个跨平台的新型工业级深度学习框架,在移动端、服务器端、物联网设备、嵌入式系统都能部署Caffe2训练的模型。Caffe2最大的特点就是轻量、模块化和扩展性,与Java有类似的特点:一次编码,到处运行。Caffe2支持多GPU和多主机分布式计算,可使用英伟达基于GPU计算的深度学习SDK库(cuDNN、cuBLAS和NCCL)来实现高性能的训练和推理。Caffe2采用了计算图(Computation Graph)来表征神经网络或者包括集群通信和数据压缩在内的其它计算,其基本计算单位是用算子(Operator)取代了Caffe中的Layer作为Nets的基本构造单位,每个算子都包含了计算输出所必需的逻辑,在给定输入的数量、类型以及参数后,可计算得到输出结果。目前,Caffe2已经定义了超过500个算子。Caffe与Caffe2的主要区别如图1所示。

目前,Caffe和Caffe2的开源社区都很活跃,尽管Caffe2出现较晚,但是发展势头迅猛,在Caffe2与PyTorch合并之前,Caffe2项目的贡献者和代码提交次数已经直逼Caffe项目。出于减少维护成本、提高开发者效率等综合考虑,Facebook在2018年4月将Caffe2与PyTorch开源项目进行了整合,Caffe2的代码已经全部并入PyTorch。

(二)TensorFlow

TensorFlow由谷歌大脑研发团队开发,前身为谷歌第一代专有的机器学习系统DistBelief,之后不断简化和重构使其变成一个更快、更健壮的应用级别代码库,形成了TensorFlow。TensorFlow既是一个实现机器学习算法的接口,也是执行机器学习算法的通用框架。

在TensorFlow的实现中,机器学习算法被表达成图,计算过程就是张量(Tensor)沿着计算图传递闭包完成张量互相转化流动(Flow)的过程,其中张量定义了计算的规则而不保存计算的数据,是构建计算图不可或缺的重要组成部分。计算图中各个节点的输入输出计算过程为一组操作(Operation),节点会有零到多个输出,每个算子都会有属性,所有的属性都在建立计算图的时候被确定下来。

随着Python语言在机器学习领域的大热,Torch的开发团队开源了PyTorch,已发展的Torch7版本不再进行功能性的更新。

通过多次试验,得出最佳组合为A2B2C1,即脂肪添加量为10.0%、薏米的添加量为20.0%、大豆分离蛋白的添加量为10.0%。又通过色差的测定进一步验证并确定了此添加量的最佳性。

由于Google强有力的支持,TensorFlow开源之后大受欢迎,是开源社区最受欢迎的深度学习工具。TensorFlow具有良好的跨平台的特性,在其上实现的算法支持移植到Android手机、iPhone、PC服务器、大规模GPU集群等众多异构系统,为了进一步支持移动设备,减少模型体积、提升运算速度,还相继推出了TensorFlow Mobile和TensorFlow Lite,为安卓手机人工智能的生态进行布局。

鉴于研究内容具有极强的专业性及发表文章语言的局限性,为使更多的国内读者及时了解竹藤研究前沿进展,本刊将及时跟踪GABR成果,对原文内容进行精简、提炼,以中文形式呈现给读者。本期介绍全球首次报道的棕榈藤基因组的情况。

(三)MXNet

MXNet主要是由卡内基梅隆大学(CMU)李沐博士牵头开发,博士期间,李沐等人在Github上创建了深盟(DMLC)的组织。MXNet是DMLC最初两个项目名称(Minerva和CXXNet)的组合。

在MXNet的架构中(图3),从上到下分别为各种主语言的嵌入,编程接口(矩阵运算,符号表达式,分布式通讯),两种编程模式的统一系统实现,以及多种硬件和操作系统的支持。整个系统全部模块化,有极小的编译依赖,适合快速开发。

  

图2 TensorFlow架构图

  

图3 MXNet的系统架构

 

MXNet使用Cpython将C++和Python语言绑定,MXNet支持命令式(类似Torch)和声明式(类似TensorFlow)两种编程模式API,并且MXNet将两种模式结合起来,在命令式编程上MXNet提供张量运算,而声明式编程中MXNet支持符号表达式,用户可以根据需要自由选择。同时,MXNet提供多语言的API接口,包括Python、R、Julia、C++、Scala、Matlab、Javascript等,并支持在Android或iOS系统上编译。在MXNet中,所有的任务,包括张量计算、symbol执行、数据通讯等都会交由引擎来执行。KV Store负责进行分布式的训练。

MXNet正式加入Apache以后,推出了MXNet 0.11版本,加入了动态图接口Gluon。Gluon学习了Keras,Chainer和PyTorch的优点,并加以改进,接口更简单,支持静、动态图混用,比PyTorch速度更快。

在Torch中有命名空间为“nn”的神经网络工具包,Torch中的模块(Module)是构建神经网络的基石,而且模块本身也是神经网络,它可以和其他网络借助容器(Container)构建出更复杂的神经网络。最新的Torch7版本使用了多GPU及并行运算包。Torch后台以C语言写成,但前台交互界面采用了Lua语言和即时编译(LuaJIT),相对小众,导致了Torch推广的困难。

PaddlePaddle采用PServer和Trainer的架构,如图4所示,在多机并行架构中数据分配到不同节点,图中灰色部分表示机器,方框里表示一个进程,PServer和Trainer是分布在两个进程里,中间是网络通讯连接,底层通信不依赖于任何其它网络框架。这种架构天生支持CPU/GPU的分布式模式,就算没有GPU也可以通过分布式CPUs进行大数据的深度学习。

(1)密切观察患者的临床,记录患者的不良问题(头晕、恶心、呕吐、皮肤瘙痒等)发生情况以及患者的基本临床状况。基于获得的相关资料判断患者的治疗效果。将患者分为两类:有效(临床症状消失或明显改善、无不良问题发生、心功能指标明显改善或优化)、无效(临床症状未改善或加重、有不良问题发生、心功能指标未改善或加重)。(2)心功能指标检测利用彩色多普勒超声仪进行,由经验丰富的医师负责检测并记录相关数据(左心室射血分数、左心室舒张末期内径、左心房舒张末期内径)。

为验证方法的有效性,在相邻的两个教学年度内选取两届学生,将其设置为实验组与参照组进行对比实验。其中,实验组包含14级物流专业6组学生,共计34人;15级物流专业6组学生,共计36人,合计12组,共70人。参照组包含14级物流专业学生6组,共计35人;15级物流专业学生6组,共计36人,合计12组,共71人。实验组采用SPOC模式下的ERP教学模式来进行教学,并运用新评价方法进行评价;参照组采用传统方式教学,并以传统评价方法进行评价。

(四)Torch和PyTorch

Torch是由卷积神经网络之父Yann LeCun领导开发的框架,于2014年开源,曾是Facebook和Twitter主推的一款开源深度学习框架,Google和多个大学研究机构也在使用Torch。大名鼎鼎的Alpha Go便是基于Torch开发的,只不过在Google开源TensorFlow之后,Alpha Go迁移到了TensorFlow上。

式中:Tco为切削液更换周期,EEcp为切削液在制备过程的单位能耗,η为切削液浓度,ρ为切削液密度,EWcl为单位废弃切削液处理能耗,Lin和Lad分别为切削液初始用量和添加用量,为机床Mm加工过程产生的切削液内含能。

如图2所示,以C语言API为界,系统分为前端和后端两部分,前端支持Python、C++、Go、Java等多种开发语言,提供统一的编程模型构造计算图,通过会话(session)的形式,连接后端的程序运行环境(Runtime)启动计算图的执行过程;后端的核心以张量为处理对象,依赖网络通信和设备内存分配,实现了张量的各种操作和计算。

PyTorch的出现不仅是为了支持流行语言而对Torch进行简单的包装,PyTorch具有轻巧的框架,底层采用张量计算引擎,集成多种加速SDK,如面向深度神经网络的英特尔数学核心函数库(MKL-DNN)、英伟达的CuDNN和NCC来加速计算。在其核心,它的CPU和GPU Tensor与神经网络后端(TH、THC、THNN、THCUNN)使用C99 API被编写成了独立的库。

PyTorch由4个主要包装组成:

Torch:类似Numpy的通用数组库,可以在将张量类型转换为(torch.cuda.TensorFloat)并在GPU上进行计算。

torch.autograd:用于构建计算图形并自动获取渐变的包。

torch.nn:具有共同层和cost函数的神经网络库。

torch.optim:具有通用优化算法(如SGD,Adam等)的优化包。

PyTorch提供了高层的神经网络模块。对于常用的网络结构,如全连接、卷积、RNN等。同时,PyTorch还提供了常用的目标函数、optimizer及参数初始化方法。

在Facebook内部,PyTorch用于所有的研究项目,Caffe2用于所有的产品项目。目前,在开源项目端Caffe2已被并入PyTorch项目,足见PyTorch强大的生态魅力。

(五)微软认知学习工具包

微软认知学习工具包(Cognitive Toolkit,CNTK)是由微软研究院发布的一个产品级别的、开源深度学习库(框架),在语音识别领域的使用尤其广泛。

二次蒸汽回收阶段,需要控制系统的蒸汽回收流速,满足蒸煮生产工艺温度。在使用中,为避免人为因素影响,该回收二次蒸汽热能系统采用微机控制,通过PLC、工业计算机(FA)、组态等形式来控制系统温度、压力、电机转速,保持系统持续平衡,发挥节能效益。

认知学习工具包使用向量运算符的符号图(symbolic graph)网络,支持如矩阵加、乘或卷积等向量操作。此外,认知学习工具包有丰富的细粒度的网络层构建,认知学习工具包设计是性能导向的,在CPU、单GPU、多GPU,以及GPU集群上都有不错的表现。它的另一个重要特性就是拓展性,认知学习工具包除了内置的大量运算核,允许用户定义他们自己的计算节点,支持高度的定制化。构建块(操作)的细粒度使用户不需要使用低层次的语言就能创建新的复杂的层类型。

Cognitive Toolkit 2.0版本支持在Windows和Ubuntu Linux环境下自动部署,但是不支持MacOS系统。2.0组件可以处理来自Python,C++或BrainScript的多维密集或稀疏数据。认知工具包包括各种各样的神经网络类型,FFN,CNN,RNN/LSTM,批次标准化等。它支持强化学习、生成对抗网络、监督和非监督学习、自动超参数调整,以及从Python添加新的用户定义的核心组件在GPU上运行的能力,能够在多个GPU和机器上并行运行。另外,还增加了对压缩模式的支持,在压缩模式下框架可以更容易地在低功耗的边缘设备进行部署,从而扩大机器学习的应用范围。

  

图4 PaddlePaddle分布式架构

Deeplearning4J(DL4J)是用Java和Scala编写的Apache2.0协议下的开源、分布式神经网络库。DL4J最初由SkyMind公司的Adam Gibson开发,是唯一集成了Hadoop和Spark的商业级深度学习网络,支持YARN(Hadoop的分布式应用程序管理框架)和任意芯片数的GPU并行运行,通过Hadoop和Spark协调多个主机线程。DL4J使用Map-Reduce来训练网络,同时依赖其它库来执行大型矩阵操作。DL4J支持多种深度网络架构:RBM、DBN、CNN、RNN、RNTN和LTSM等。DL4J还支持矢量化库Canova。

有付出就有回报。张兰花连续12年被团评为“先进生产者”和“五好职工”;2013年被评为“全国女性经济人物”;2014年被兵团授予“三八红旗手标兵”和“巾帼农业科技服务队队长”荣誉称号;2015年被二师评为“劳动模范”;2016年获“全国‘三八’红旗手”;2017年荣获“全国农业劳动模范。”□

 

(六)PaddlePaddle

PaddlePaddle是百度自主研发的深度学习平台,来自于百度深度学习研究院(IDL),是由徐伟博士带领十人左右小而美的团队开发的,不涉及业务的代码均已经在2016年开源。

包括亚马逊、Apple、Samsung、微软等MXNet开源社区的成员已展开合作,将MXNet技术应用到自家产品,例如亚马逊、微软等公有云平台支持部署MXNet和Gluon深度学习框架,苹果发布了将使用MXNet构建的机器学习模型转换为苹果Core ML格式的工具等。

PaddlePaddle支持的Layer类型丰富,FCN、CTC、BN、LSTM等悉数在列;同时也支持从一步一步的数学运算操作(OP)开始配深度学习网络(矩阵乘发,加法,激活等);对于成型的Layer(LSTM)使用C++重新优化。PaddlePaddle是企业解决现有问题的框架,不是纯粹的科研框架;企业需要性能,也需要灵活性。

百度是搞深度学习比较早的公司,Paddle系统在内部已经使用多年,为凤巢等数十个业务提供支持,技术成熟,PaddlePaddle开源社区也比较活跃。

(七)其他

Theano由蒙特利尔大学算法学习人工智能实验室(MILA)维护。支持快速开发高效的机器学习算法,在BSD协议下发布。Theano开创了将符号图用于神经网络编程的趋势。Theano的架构如同一个黑箱,整个代码库和接口使用Python,其中C/CUDA代码被打包成Python字符串,这使得开发人员很难调试和重构。Theano是很好的学术研究工具,在单个CPU上运行的效率比TensorFlow更有效。然而,在开发和支持大型分布式应用程序时,使用Theano可能会遇到挑战。

 

表1 各个开源框架在GitHub上2018年4月的数据统计

  

主要维护者所属机构贡献者数量 提交次数 license 适用场景 开发语言 接口语言TensorFlow Google 1310 28150 Apache 2.0 生产 C++, python Python,Java,Go,C++MXNet DMLC 481 6619 Apache 2.0 生产 C++Python,Julia, Go,Matlab, R, C++,JavaScript Caffe BVLC 266 4162 BSD 生产/科研 C++ Python,Matlab,C++Caffe2 FaceBook 187 3678 Apache 2.0 生产 C++ Python, C++PyTorch FaceBook 389 6348 自定义(宽松) 科研 python Python CNTK 微软 182 15645 自定义 生产 C++ Python, C++,C#PaddlePaddle 百度 129 14184 Apache 2.0 生产 C++ Python, C++Chainer Preferred Networks 161 13807 MIT 科研 python Python

在深度学习领域微软致力于模型的标准化互通,微软与亚马逊联手推出了Gluon API,CNTK也是最早支持ONNX(the Open Neural Network Exchange)格式的框架之一。目前,开源社区还在不断集成CNTK新的功能,CNTK2.0以上版本甚至支持Keras的前端,可使用Tensorboard作为其可视化调试工具。

Keras由Python编写,实现对TensorFlow、Theano的API封装,微软认知工具包也在2.0版本增加了Python API Keras功能,Keras 2 API更是作为TensorFlow框架的一部分直接向用户提供支持,因此,严格意义上Keras不算是深度学习框架,作为深度学习框架的前端更合适。

伐木作业或洪水冲刷进入大海中的浮木,无论是整齐的锯木、扭曲的树枝,或者是带着树根的树桩,它们都是漂浮在海里的树的残骸。除了越来越少的那些海上拾荒者,以及那些努力避免与漂流木迎头撞上的水手会关注它们的存在之外,研究海洋生态环境的科学家和研究人员也对它们产生了强烈的兴趣。

Chainer由日本的深度学习创业公司Preferred Networks开源,是一个基于Python的独立的深度学习框架。Chainer通过支持兼容Numpy的数组间运算的方式,提供了声明神经网络的命令式方法。Chainer使用“边运行边定义”的方法将“定义计算图”和“输入训练数据并计算损失函数”两个步骤合并,计算图不是在训练之前定义的,而是在训练过程中获得的。Chainer还包括一个名为CuPy的基于GPU的数值计算库。

第一组5个风叶第一层焊道焊完后,开始焊接该组位置对称组焊缝,同样焊完第一层焊道后依次焊接剩余两组焊缝,直至完成所有焊缝的打底焊。打底焊结束后进行风扇尺寸复检,根据检查结果调整下一步的焊接顺序,原则上仍采用圆周对称焊接的方式将所有焊缝焊接至图纸要求焊角尺寸,最后再进行尺寸校检,保证后续有充足加工量后转下一道工序进行圆角打磨。

其他还有众多开源的机器学习框架,如Neon、DyNet、BigDL等,限于篇幅,文章不再介绍。

首先,根据Superpave等级要求,细集料的目标配比初步选择粗、中、细三个级配,然后计算每个级配的沥青使用量,并通过旋转压实仪形成试件,并最终计算出每个级配的沥青使用量。三个级配的沥青混合料的体积性质指标其中至少两个应该满足图纸设计的要求。根据经验从上述2个级配中选择一个作为目标级配,按计算沥青用量,计算沥青用量±0.5%,计算沥青用量+1%分别成型四组试件求出最佳沥青用量。

(八)主流开源框架对比

表1为各个开源框架在GitHub上2018年4月的数据统计,可以看到TensorFlow是目前热度最高的深度学习开源框架。

  

图5 TensorFlow开源技术生态工具集

绩效审计的目的是审查受托管理责任,确定被审计对象的管理是否有效,审计重点是经济性、效率性和效果性。因此,有效开展绩效审计是加强内部控制监督的一个重要手段,应将被审计对象的财务活动和整体活动有机整合,全方位、全过程地把握活动的绩效。

三、技术生态

(一)TensorFlow生态工具

谷歌的生态圈和战略为TensorFlow提供了丰富的资源、完整的原型工具,以打造强大的技术生态,这样能让谷歌从底层到上层拥有绝对控制权,像安卓一样,用户只要在上层做应用开发,底层全交给谷歌完成。TensorFlow技术生态相关的工具如图5所示。

围绕TensorFlow的技术生态工具集从上至下可分为四大类:

第一类通过使用TensorFlow设计,构建和训练神经网络更容易,包括预建的或预训练的深度神经网络,用于跟踪训练进度的图形界面(TensorBoard)以及TensorFlow(Keras)的更高级别API。

第二类包含可以预判行为并易于管理的工具。

也有研究文献对部分框架进行了性能上的比对,所有的框架基于GPU都可以获得较大的性能提升,但是框架之间的性能差异并不显著。

糖尿病肾病为糖尿病的主要并发症之一,严重可导致肾功能衰竭及蛋白尿疾病。血管紧张素转化酶抑制剂(angiotensin I-converting enzyme inhibitor,ACEI)可有效控制血压,保护肾及心脏,使各类心血管疾病的发病率下降[1-3]。SGLT-2抑制剂作为一种新型降糖药物,不仅可以有效降低血糖,还具有降低尿酸、减少尿蛋白(urine protein,u-PRO)等作用[4-5]。本研究旨在探讨ACEI联合SGLT-2抑制剂对糖尿病肾病蛋白尿的作用。现报道如下。

第三类是用于连接到其他流行的开源项目,如Hadoop、Spark、Docker和Kubernetes等,以及与之交互的组件。

最后一类是减少训练深度神经网络的时间和成本的技术和硬件设施。在深度学习技术生态圈中,英伟达公司为众多机器学习框架提供了GPU硬件加速,但是Google研发的TPU(张量处理单元)已经让谷歌不依赖于GPU,愈发显示谷歌在人工智能领域的领先地位。

(二)其他联盟

鉴于深度学习框架技术的重要性,其他各大厂商也纷纷自立门户,于是出现了Facebook的Caffe2和PyTorch、亚马逊的MXNet、微软的认知工具包等,但是无论哪一家,相比TensorFlow在生态工具的完整性、易用性、跨平台等方面总有欠缺,而且众多的框架训练出来的模型不能通用,事实上造成了深度学习框架的“碎片化”。

为了避免谷歌TensorFlow的一家独大,解决深度学习框架模型兼容性,Facebook、微软等企业牵头推出了开放神经网络交换格式(ONNX),可使模型在不同框架之间进行转移,以方便各个深度学习框架之间模型的迁移,目前ONNX已经得到AMD、ARM、华为、IBM、英特尔、高通等厂商支持。

苹果公司专注于移动终端上的深度学习,推出了移动设备上的机器学习编程框架Core ML,Core ML只支持在设备上使用模型推断,而不是训练新模型。苹果自研转换器工具支持Caffe、Keras、MXNet、LIBSVM、scikit-learn和XCBoost等模型的转换。

四、发展趋势

国内外产业巨头已经纷纷意识到在人工智能领域通过开源技术建立产业生态,是抢占产业制高点的重要手段,开源深度学习技术框架是产业链中重要的一环。通过深度学习平台的开源化,可以扩展技术应用领域,深度影响人工智能全产业链。

(三)聊天法。该方法指的就是在教学中教师通过和学生唠家常完成作文教学。教师需要提前准备网络热门内容与视频片段营造轻松的聊天氛围,每一名学生都可以在这个环节发言,讨论大家之所想。在轻松沟通、互相交流中锻炼学生动手能力与语言组织能力。

开源深度学习框架的快速发展既有工业界的推动,也有学术界的贡献,工业界追求“how”,学术界重在“why”。从多个主流框架发展历程来看,学术界培养出来的高端人才是推动深度学习框架技术的发展的核心力量。

当前,开源深度学习框架百家争鸣,TensorFlow虽然热度较高,但也没有强大到一统天下的地步,未来开源深度学习框架分庭抗争的形势将长期存在,对于各个框架训练出来的模型进行标准化互通将是业界努力的方向。

各类云服务平台已经开始引入AI服务能力,面对众多的框架技术选择,云平台一般采用支持多种框架技术的方式,为各类型终端提供跨平台的云端模型训练和推断服务。

TensorFlow、MXNet、Caffe2等均支持ARM架构,未来,随着物联网和5G通信技术的发展,云和终端的无缝融合、深度学习嵌入到移动设备、学习框架向终端侧延伸、边缘计算参与训练和推断等都将是可能的技术发展方向。

五、结束语

本文介绍了主流开源框架技术的发展现状和趋势。当前,TensorFlow作为主流深度学习框架热度最高的技术,是国内安卓生态圈内用户必需跟进的深度学习框架,同时,为避免被一家厂商的技术垄断,也有必要同时关注其他框架的技术进展,对于安卓生态圈以外的用户,MXNet、PyTorch也是不错的选择,具体还需要根据用户自身的生产或科研需求进行选择。业界通过联盟的方式正在致力于解决开源深度学习框架的“碎片化”问题,需要密切跟踪ONNX、Gluon这类跨框架的开源技术及组织,为企业自身AI技术选型提供参考。■

 
 
庞涛
《互联网天地》 2018年第04期
《互联网天地》2018年第04期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号