文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

八种主流深度学习框架介绍

2024-12-02 15:45

关注

https://github.com/keras-team/keras

https://github.com/pytorch/pytorch

https://github.com/Theano/Theano

https://github.com/apache/incubator-mxnet

https://github.com/PaddlePaddle/Paddle/

https://github.com/eclipse/deeplearning4j

https://github.com/onnx/onnx

下面开始对各框架进行概述,让读者对各个框架有个简单的认知,具体的安装及使用方法不在本文赘述。

1.TensorFlow

谷歌的TensorFlow可以说是当今最受欢迎的开源深度学习框架,可用于各类深度学习相关的任务中。TensorFlow = Tensor + Flow,Tensor就是张量,代表N维数组;Flow即流,代表基于数据流图的计算。

TensorFlow使用静态计算图进行操作。也就是说,我们需要先定义图形,然后运行计算,如果我们需要对架构进行更改,则需要重新训练模型。选择这样的方法是为了提高效率,但是许多现代神经网络工具已经能够在学习过程中改进,并且不会显著降低学习速度。在这方面,TensorFlow的主要竞争对手是PyTorch。

RStudio提供了R与TensorFlow的API接口,RStudio官网及GitHub上也提供了TensorFlow扩展包的学习资料。

2.Keras

Keras是一个对小白用户非常友好且简单的深度学习框架。如果想快速入门深度学习, Keras将是不错的选择。

Keras是TensorFlow高级集成API,可以非常方便地和TensorFlow进行融合。Keras在高层可以调用TensorFlow、CNTK、Theano,还有更多优秀的库也在被陆续支持中。Keras的特点是能够快速搭建模型,是高效地进行科学研究的关键。

Keras的基本特性如下:

RStudio提供了R与Keras的API接口,RStudio的官网及GitHub上也提供了Keras扩展包的学习资料。

3.Caffe

Caffe是由AI科学家贾扬清在加州大学伯克利分校读博期间主导开发的,是以C++/CUDA代码为主的早期深度学习框架之一,比TensorFlow、MXNet、PyTorch等都要早。Caffe需要进行编译安装,支持命令行、Python和Matlab接口,单机多卡、多机多卡等都可以很方便使用。

Caffe的基本特性如下。

同时,Caffe的缺点也比较明显,主要包括如下几点。

虽然Caffe已经提供了Matlab和Python接口,但目前不支持R语言。caffeR为Caffe提供了一系列封装功能,允许用户在R语言上运行Caffe,包括数据预处理和网络设置,以及监控和评估训练过程。该包还没有CRAN版本,感兴趣的读者可以在GitHub找到caffeR包的安装及使用的相关内容。

https://github.com/cnaumzik/caffeR

4.PyTorch

PyTorch是Facebook团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow、Keras等框架,但自发布之日起,其受到的关注度就在不断上升,目前在GitHub上的热度已经超过Theano、Caffe、MXNet等框架。

PyTroch主要提供以下两种核心功能:

PyTorch的主要优点如下。

5.Theano

Theano诞生于2008年,由蒙特利尔大学的LISA实验室开发并维护,是一个高性能的符号计算及深度学习框架。它完全基于Python,专门用于对数学表达式的定义、求值与优化。得益于对GU的透明使用,Theano尤其适用于包含高维度数组的数学表达式,并且计算效率比较高。

因Theano出现的时间较早,后来涌现出一批基于Theano的深度学习库,并完成了对Theano的上层封装以及功能扩展。在这些派生库中,比较著名的就是本书要学习的Keras。Keras将一些基本的组件封装成模块,使得用户在编写、调试以及阅读网络代码时更加清晰。

6.CNTK

CNTK(Microsoft Cognitive Toolkit)是微软开源的深度学习工具包,它通过有向图将神经网络描述为一系列计算步骤。在有向图中,叶节点表示输入值或网络参数,其他节点表示其输入上的矩阵运算。

CNTK允许用户非常轻松地实现和组合流行的模型,包括前馈神经网络(DNN)、卷积神经网络(CNN)和循环神经网络(RNN、LSTM)。与目前大部分框架一样,CNTK实现了自动求导,利用随机梯度下降方法进行优化。

适合做语音任务,CNTK本就是微软语音团队开源的,自然更适合做语音任务,便于在使用RNN等模型以及时空尺度时进行卷积。

微软开发的CNTK-R包提供了R与CNTK的API接口。感兴趣的读者可以通过以下网址进行学习。

7.MXNet

MXNet框架允许混合符号和命令式编程,以最大限度地提高效率和生产力。MXNet的核心是一个动态依赖调度程序,可以动态地自动并行化符号和命令操作。其图形优化层使符号执行更快,内存效率更高。

MXNet的基本特性如下。

8.ONNX

ONNX(Open Neural Network eXchange,开放神经网络交换)项目由微软、亚马逊、Facebook和IBM等公司共同开发,旨在寻找呈现开放格式的深度学习模型。ONNX简化了在人工智能不同工作方式之间传递模型的过程,具有各种深度学习框架的优点。

ONNX的基本特性如下。

onnx-r包提供了R与ONNX的API接口。感兴趣的读者可以通过以下网址进行学习。

关于作者:谢佳标,资深AI技术专家和数据挖掘专家,拥有超过14年的技术研发和管理经验。精通Python和Keras等深度学习框架,在数据挖掘和人工智能技术领域有非常深厚的积累。连续6年(2017~2022年)被微软评为数据科学和AI方向MVP。资深R语言技术专家,“中国现场统计研究会大数据统计分会”第一届理事。历届中国R语言和数据科学大会特邀演讲嘉宾,受邀在国内多所高校举行以数据主题的公益讲座。

本文摘编自《Keras深度学习:入门、实战与进阶》,经出版方授权发布。(ISBN:9787111691501)

 

来源:大数据DT内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯