深度学习框架 订阅
在开始深度学习项目之前,选择一个合适的框架是非常重要的,因为选择一个合适的框架能起到事半功倍的作用。研究者们使用各种不同的框架来达到他们的研究目的,侧面印证出深度学习领域百花齐放。全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。 展开全文
在开始深度学习项目之前,选择一个合适的框架是非常重要的,因为选择一个合适的框架能起到事半功倍的作用。研究者们使用各种不同的框架来达到他们的研究目的,侧面印证出深度学习领域百花齐放。全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
信息
特    点
开源
本    质
作    用
降低了深度学习研究的入门门槛
中文名
深度学习框架
基本释义
用于深度学习的框架
外文名
Deep learning framework
深度学习框架概述
在深度学习初始阶段,每个深度学习研究者都需要写大量的重复代码。为了提高工作效率,这些研究者就将这些代码写成了一个框架放到网上让所有研究者一起使用。接着,网上就出现了不同的框架。随着时间的推移,最为好用的几个框架被大量的人使用从而流行了起来。 [1]  全世界最为流行的深度学习框架有PaddlePaddle、Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
收起全文
精华内容
下载资源
问答
  • 深度学习框架

    2019-07-04 21:43:04
    深度学习框架

    深度学习框架

    展开全文
  • 深度学习框架Tensorflow案例实战视频培训课程概况: Tensorflow是谷歌开源的深度学习(包括机器学习)框架,伴随着人工智能业的兴盛其大名早已响彻云霄。本课程从Tensorflow安装开始讲起,从基本计算结构到深度学习...
  • 近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷,包括TensorFlow,Keras,MXNet,PyTorch,CNTK,Theano,Caffe,DeepLearning4,Lasagne,Neon,等等。Google,Microsoft等商业巨头...

    近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷,包括TensorFlow,Keras,MXNet,PyTorch,CNTK,Theano,Caffe,DeepLearning4,Lasagne,Neon,等等。Google,Microsoft等商业巨头都加入了这场深度学习框架大战,当下最主流的框架当属TensorFlow,Keras,MXNet,PyTorch,接下来我对这四种主流的深度学习框架从几个不同的方面进行简单的对比。

    一、 简介

    TensorFlow:
    TensorFlow是Google Brain基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理,于2015年11月9日在Apache 2.0开源许可证下发布,并于2017年12月份预发布动态图机制Eager Execution。
    Keras:
    Keras是一个用Python编写的开源神经网络库,它能够在TensorFlow,CNTK,Theano或MXNet上运行。旨在实现深度神经网络的快速实验,它专注于用户友好,模块化和可扩展性。其主要作者和维护者是Google工程师FrançoisChollet。
    MXNet:
    MXNet是DMLC(Distributed Machine Learning Community)开发的一款开源的、轻量级、可移植的、灵活的深度学习库,它让用户可以混合使用符号编程模式和指令式编程模式来最大化效率和灵活性,目前已经是AWS官方推荐的深度学习框架。MXNet的很多作者都是中国人,其最大的贡献组织为百度。
    PyTorch:
    PyTorch是Facebook于2017年1月18日发布的python端的开源的深度学习库,基于Torch。支持动态计算图,提供很好的灵活性。在今年(2018年)五月份的开发者大会上,Facebook宣布实现PyTorch与Caffe2无缝结合的PyTorch1.0版本将马上到来。
    有关四个框架的一些基本属性的比较如表1-1所示:

    表1-1 各个框架的相关属性

    二、 流行度

    四个深度学习库均为开源,我们可以通过其在Github上的数据看出他们在行业中的流行程度,截止到2018年6月17日Github上数据如表2-1、表2-2所示。

    表2-1
    这里写图片描述
    表2-2

    三、 灵活性

    TensorFlow主要支持静态计算图的形式,计算图的结构比较直观,但是在调试过程中十分复杂与麻烦,一些错误更加难以发。但是2017年底发布了动态图机制Eager Execution,加入对于动态计算图的支持,但是目前依旧采用原有的静态计算图形式为主。TensorFlow拥有TensorBoard应用,可以监控运行过程,可视化计算图。
    Keras是基于多个不同框架的高级API,可以快速的进行模型的设计和建立,同时支持序贯和函数式两种设计模型方式,可以快速的将想法变为结果,但是由于高度封装的原因,对于已有模型的修改可能不是那么灵活。
    MXNet同时支持命令式和声明式两种编程方式,即同时支持静态计算图和动态计算图,并且具有封装好的训练函数,集灵活与效率于一体,同时已经推出了类似Keras的以MXNet为后端的高级接口Gluon。
    PyTorch为动态计算图的典型代表,便于调试,并且高度模块化,搭建模型十分方便,同时具备及其优秀的GPU支持,数据参数在CPU与GPU之间迁移十分灵活

    四、 学习难易程度

    对于深度学习框架的学习难易程度以及使用的简易度还是比较重要的,我认为应该主要基于框架本身的语言设计、文档的详细程度以及科技社区的规模考虑。对于框架本身的语言设计来讲,TensorFlow是比较不友好的,与Python等语言差距很大,有点像基于一种语言重新定义了一种编程语言,并且在调试的时候比较复杂。每次版本的更新,TensorFlow的各种接口经常会有很大幅度的改变,这也大大增加了对其的学习时间;Keras是一种高级API,基于多种深度学习框架,追求简洁,快速搭建模型,具有完美的训练预测模块,简单上手,并能快速地将所想变现,十分适合入门或者快速实现。但是学习会很快遇到瓶颈,过度的封装导致对于深度学习知识的学习不足以及对于已有神经网络层的改写十分复杂;MXNet同时支持命令式编程和声明式编程,进行了无缝结合,十分灵活,具备完整的训练模块,简单便捷,同时支持多种语言,可以减去学习一门新主语言的时间。上层接口Gluon也极其容易上手;PyTorch支持动态计算图,追求尽量少的封装,代码简洁易读,应用十分灵活,接口沿用Torch,具有很强的易用性,同时可以很好的利用主语言Python的各种优势。对于文档的详细程度,TensorFlow具备十分详尽的官方文档,查找起来十分方便,同时保持很快的更新速度,但是条理不是很清晰,教程众多;Keras由于是对于不同框架的高度封装,官方文档十分详尽,通俗易懂;MXNet发行以来,高速发展,官方文档较为简单,不是十分详细,存在让人十分迷惑的部分,框架也存在一定的不稳定性;PyTorch基于Torch并由Facebook强力支持,具备十分详细条理清晰的官方文档和官方教程。对于社区,庞大的社区可以推动技术的发展并且便利问题的解决,由Google开发并维护的TensorFlow具有最大社区,应用人员团体庞大;Keras由于将问题实现起来简单,吸引了大量研究人员的使用,具有很大的用户社区;MXNet由Amazon,Baidu等巨头支持,以其完美的内存、显存优化吸引了大批用户,DMLC继续进行开发和维护;PyTorch由Facebook支持,并且即将与Caffe2无缝连接,以其灵活、简洁、易用的特点在发布紧一年多的时间内吸引了大量开发者和研究人员,火爆程度依旧在不断攀升,社区也在不断壮大。

    五、 性能

    为了比较四个框架的性能(主要是运行速度),我进行了三个不同的实验,对于不同的神经网络以及不同类型的数据集在分别在CPU、GPU环境下进行了测试。
    CPU环境:Ubuntu14.04 内存 32GB AMD Opteron™ Processor 4284
    GPU环境1:Ubuntu16.04 内存 32GB Quadro P2000(5GB显存)
    Intel® Xeon® CPU E5-2637 v4 @ 3.50GHz
    GPU环境2:Ubuntu16.04 内存 16GB Tesla K40(12GB显存)
    Intel® Xeon® CPU E5-2650 v3 @ 2.30GHz
    代码地址:https://github.com/CircleXing001/DL-tools
    以下实验时间均为总训练时间,GPU环境下包括数据由内存复制到GPU的时间,不包括数据读入内存所需的时间。

    实验一:基于北京pm2.5数据集的多变量时序数据预测问题

    数据集:https://archive.ics.uci.edu/ml/datasets/Beijing+PM2.5+Data
    模型:简单的单层LSTM+全连接层,如下图所示:
    这里写图片描述
    进行训练50epoches,实验结果如表5-1所示:

    表5-1
    实验二:基于Mnist数据集的分类问题
    模型:两层卷积神经网络+全连接层,如下图所示:
    这里写图片描述
    进行训练10epoches,实验结果如表5-2所示:

    表5-2
    实验三:基于DAQUAR数据集的视觉问答问题
    数据集:https://www.mpi-inf.mpg.de/departments/computer-vision-and-multimodal-computing/research/vision-and-language/visual-turing-challenge/
    模型:卷积神经网络+LSTM,具体如下图所示:
    这里写图片描述
    将数据缩放至5050,进行训练5epoches,实验结果如表5-3所示:

    表5-3
    在GPU环境2(Ubuntu16.04+内存 16GB +Tesla K40(12GB显存)+
    Intel® Xeon® CPU E5-2650 v3 @ 2.30GHz)
    对上述实验三中224
    224数据进行实验,对比四种框架对于硬件(GPU)的利用率,结果见表5-4。

    表5-4
    通过上述实验我们可以发现,不同的深度学习框架对于计算速度和资源利用率的优化存在一定的差异:Keras为基于其他深度学习框架的高级API,进行高度封装,计算速度最慢且对于资源的利用率最差;在模型复杂,数据集大,参数数量大的情况下,MXNet和PyTorch对于GPU上的计算速度和资源利用的优化十分出色,并且在速度方面MXNet优化处理更加优秀;相比之下,TensorFlow略有逊色,但是对于CPU上的计算加速,TensorFlow表现更加良好。

    展开全文
  • 深度学习框架-PyTorch实战

    千人学习 2019-12-03 13:28:05
    深度学习框架-PyTorch实战课程旨在帮助同学们快速掌握PyTorch框架核心模块使用方法与项目应用实例,让同学们熟练使用PyTorch框架进行项目开发。课程内容全部以实战为导向,基于当下计算机视觉与自然语言处理中经典...
  • 文章目录前言一、背景介绍二、...目前常见的深度学习框架不尽相同,主要有TensorFlow、Caffe、Theano、Keras等,常见的深度学习框架如借图如下所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处...

    前言

    本篇博文旨在主要介绍一些常见的深度学习框架

    一、背景介绍

    目前常见的深度学习框架不尽相同,主要有TensorFlow、Caffe、Theano、Keras等,常见的深度学习框架如借图如下所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。本片博文就主要介绍一下当前深度学习领域影响力比较大的几个框架,只作为学习,还望小伙伴们对于不足之处多多包涵。
    在这里插入图片描述

    二、Theano

    Theano最初诞生于蒙特利尔大学LIS实验室,于2008年开始开发,是第一个有较大影响力的 Python深度学习框架。
            Theano是Python是一个库,可用于定义、优化和计算数学表达式,特别是多维(numpy.ndaray)。在解决包含大量数据的问题时,使用Theano编程可实现比手写C语言更快的速度,而通过GPU加速, Theano甚至可以比基于CPU计算的C语言快上好几个数量级。 Theano结合了计算机代数系统(Computer Algebra System,cas)和优化编译器,还可以为多种数学运算生成定制的C语言代码。对于包含重复计算的复杂数学表达式的任务而言,计算速度很重要,因此这种CAS和优化编译器的组合是很有用的。对需要将每一种不同的数学表达式都计算一遍的情况, Theano可以最小化编译解析的计算量,但仍然会给出如自动微分那样的符号特征。
            Theano诞生于研究机构,服务于研究人员,其设计具有较浓厚的学术气息,但在工程设计上有较大的缺陷。一直以来, Theano因难调试、构建图慢等缺点为人所诟病。为了加速深度学习研究,人们在它的基础之上,开发了 Lasagne、 Blocks、 PyLearn22和Keras等第三方框架,这些框架以 Theano为基础,提供了更好的封装接口以方便用户使用。

    三、TensorFlow

           1、2015年11月10日, Google宣布推出全新的机器学习开源工具TensorFlowTensorFlow最初是由 Google机器智能研究部门的 Google Brain团队开发,基于 Google2011年开发的深度学习基础架构DistBelief构建起来的。 TensorFlow主要用于进行机器学习和深度神经网络研究,但它是一个非常基础的系统,因此也可以应用于众多领域。
           2、TensorFlow在很大程度上可以看作Theano的后继者,不仅因为它们有很很多共同的开发者,而且它们还拥有相近的设计理念,都是基于计算图实现自动微分系统。TensorFlow使用数据流图进行数值计算,图中的节点代表数学运算,而图中的边则表在这些节点之间传递的多维数组(张量)
           3、TensorFlow编程接口支持Python和C++。随着1.0版本的公布,java、Go、R和Haskell API的 alpha版本也被支持。此外, TensorFlow还可在 Google Cloud和AWS中运 行。 TensorFlow还支持 Windows7、 Windows10和 Windows Server2016.由于 TensorFlow使用C++ Eigen库,所以库可在ARM架构上编译和优化。这也就意味着用户可以在各种服务器和移动设备上部署自己的训练模型,无须执行单独的模型解码器或者加载Python解释器。
    作为当前最流行的深度学习框架, TensorFlow获得了极大的成功,对它的批评也不绝于耳,总结起来主要有以下四点:

    ·1、过于复杂的系统设计, TensorFlow在 GitHub代码仓库的总代码量超过100万行。这么大的代码仓库,对于项目维护者来说维护成为了一个难以完成的任务,而对读者来说,学习 TensorFlow底层运行机制更是一个极其痛苦的过程,并且大多数时候这种尝试以放弃告终。
    ·2、频繁变动的接口。 TensorFlow的接口一直处于快速迭代之中,并且没有很好地考虑向后兼容性,这导致现在许多开源代码已经无法在新版的 TensorFlow上运行,同时也间接导致了许多基于 TensorFlow的第三方框架出现BUG。
    3、接口设计过于晦涩难懂。在设计 TensorFlow时,创造了图、会话、命名空间、 Place-Holder等诸多抽象概念,对普通用户来说难以理解。同一个功能, TensorFlow提供了多种实现,这些实现良莠不齐,使用中还有细微的区别,很容易将用户带入坑中。
    4、·文档混乱脱节。 TensorFlow作为一个复杂的系统,文档和教程众多,但缺乏明显的条理和层次,虽然查找很方便,但用户却很难找到一个真正循序渐进的入门教程。

    由于直接使用 TensorFlow的生产力过于低下,包括 Google官方等众多开发者尝试基于 TensorFlow构建一个更易用的接口,包括Keras、 Sonnet、 TFLearn、 TensorLayerSlim、Fold、 PrettyLayer等数不胜数的第三方框架每隔几个月就会在新闻中出现一次,但是又大多归于沉寂,至今 TensorFlow仍没有一个统一易用的接口。

    四、Keras

           Keras是一个高层神经网络API,由纯Python编写而成并使用TensorFlow、Theano及CNTK作为后端。 Keras为支持快速实验而生,能够把想法迅速转换为结果。Keras应该是深度学习框架之中最容易上手的一个,它提供了一致而简洁的API,能够极大地减少一般应用下用户的工作量,避免用户重复造轮子。
           严格意义上讲, Keras并不能称为一个深度学习框架,它更像一个深度学习接口,它构建于第三方框架之上。 Keras的缺点很明显:过度封装导致丧失灵活性。 Keras最初作为Theano的高级API而诞生,后来增加了TensorFlow和CTK作为后端。为了屏蔽后端的差异性,提供一致的用户接口,Keras做了层层封装,导致用户在新增操作或是获取底层的数据信息时过于困难。同时,过度封装也使得 Keras的程序过于缓慢,许多BUG都隐藏于封装之中,在绝大多数场景下, Keras大部分框架中最慢的一个。
           学习 Keras十分容易,但是很快就会遇到瓶颈,因为它缺少灵活性。另外,在使用Keras的大多数时间里,用户主要是在调用接口,很难真正学习到深度学习的内容。总结下来:入门最简单,但是不够灵活,使用受限。

    五、Caffe/Caffe2

           KerasCaffe的全称是Convolutional Architecture for Fast Feature Embedding,它是一个清晰、高效的深度学习框架,核心语言是C++,它支持命令行、 Python和 MATLAB接口,既可以在CPU上运行,也可以在GPU上运行。
           Caffe的优点是:简洁快速,缺点是缺少灵活性。不同于 Keras因为太多的封装导致灵活性丧失, Caffe灵活性的缺失主要是因为它的设计。在 Caffe中最主要的抽象对象是层,每实现一个新的层,必须要利用C++实现它的前向传播和反向传播代码,而如果想要新层运行在GPU上,还需要同时利用CUDA实现这一层的前向传播和反向传播。这种限制使得不熟悉C++和CUDA的用户扩展 Caffe十分困难。
           Caffe凭借其易用性、简洁明了的源码、出众的性能和快速的原型设计获取了众多用户,曾经占据深度学习领域的半壁江山。但是在深度学习新时代到来之时, Caffe已经表现出明显的力不从心,诸多问题逐渐显现(包括灵活性缺失、扩展难、依赖众多环境难以配置、应用局限等)。尽管现在在 GitHub上还能找到许多基于 Caffe的项目,但是新的项目已经越来越少。
           Caffe的作者从加州大学伯克利分校毕业后加入了 Google,参与过 TensorFlow的开发,后来离开 Google加入FAIR,担任工程主管,并开发了 Caffe2。Caffe2是一个兼具表现力、速度和模块性的开源深度学习框架。它沿袭了大量的 Caffe设计,可解决多年来在 Caffe的使用和部署中发现的瓶颈问题。 Caffe2的设计追求轻量级,在保有扩展性和高性能的同时, Caffe2也强调了便携性。 Caffe2从一开始就以性能、扩展、移动端部署作为主要设计目标。 Caffe2的核心C++库能提供速度和便携性,而其 Python和C++API使用户可以轻松地在Linux、 Windows、is、 Android,甚至 Raspberry Pi和NVIDIA Tegra上进行原型设计、训练和部署。
           Caffe2继承了 Caffe的优点,在速度上令人印象深刻。 Facebook人工智能实验室与应用机器学习团队合作,利用Caffe2大幅加速机器视觉任务的模型训练过程,仅需1小时就训练完 ImageNet这样超大规模的数据集。然而尽管已经发布半年多,开发一年多, Caffe2仍然是一个不太成熟的框架,官网至今没提供完整的文档,安装也比较麻烦,编译过程时常出现异常,在 GitHub上也很少找到相应的代码。
           极盛的时候,Caffe占据了计算机视觉研究领域的半壁江山,虽然如今 Caffe已经很少用于学术界,但是仍有不少计算机视觉相关的论文使用Caffe由于其稳定、出众的性能,不少公司还在使用 Caffe部署模型。Caffe2尽管做了许多改进,但是还远没有达到替代Caffe的地步,其次,文档不够完善,但性能优异,几乎全平台支持( Caffe2)适合生产环境。

    六、MXNet

           MXNet是一个深度学习库,支持C++、 Python、r、 Scala Julia MATLAB JavaScript等语言;支持命令和符号编程;可以运行在CPU、GPU、集群、服务器、台式机或者移动设备上。 MXNet是CXXNet是的下一代, CXXNet借鉴了 Caffe的思想,但是在实现上更干净。在2014年的NIPS上,同为上海交大校友的陈天奇与李沐碰头,讨论到各自在做深度学习 Toolkits的项目组,发现大家普遍在做很多重复性的工作,例如文件 loading等。于是他们决定组建DMLC[ Distributied(Deep) Machine Learning Community],号召大家一起合作开发 MXNet,发挥各自的特长,避免重复造轮子。
           MXNet以其超强的分布式支持,明显的内存、显存优化为人所称道。同样的模型,MXNet往往占用更小的内存和显存,并且在分布式环境下, MXNet展现出了明显优于其他框架的扩展性能。
           由于 MXNet最初由一群学生开发,缺乏商业应用,极大地限制了 MXNet的使用。2016年11月, MXNet被AWS正式选择为其云计算的官方深度学习平台。2017年1月,MXNet项目进入 Apache基金会,成为 Apache的孵化器项目。
           尽管 MXNet拥有最多的接口,也获得了不少人的支持,但其始终处于一种不温不火的状态。个人认为这在很大程度上归结于推广不给力及接口文档不够完善。MXNet长期处于快速迭代的过程,其文档却长时间未更新,导致新手户难以掌握 MXNet,老用户常常需要查阅源码才能真正理解 MXNet接口的用法。

    七、CNTK

            2015年8月,微软公司在 CodePlex上宣布由微软研究院开发的计算网络工具集CNTK将开源。5个月后,2016年1月25日,微软公司在他们的 GitHub仓库上正式开源了CNTK。早在2014年,在微软公司内部,黄学东博士和他的团队正在对计算机能够理解语音的能力进行改进,但当时使用的工具显然拖慢了他们的进度。于是,一组由志愿者组成的开发团队构想设计了他们自己的解决方案,最终诞生了CNTK。
            根据微软开发者的描述,CNTK的性能比 Caffe、Theano、TensoFlow等主流工具都要强。CNTK支持CPU和GPU模式,和 TensorFlow/Theano一样,它把神经网络描述成一个计算图的结构,叶子节点代表输入或者网络参数,其他节点代表计算步骤。
    CNTK是一个非常强大的命令行系统,可以创建神经网络预测系统。CNTK最初是出于在 Microsoft内部使用的目的而开发的,一开始甚至没有 Python接口,而是使用了一种几乎没什么人用的语言开发的,而且文档有些晦涩难懂,推广不是很给力,导致现在用户比较少。但就框架本身的质量而言,CNTK表现得比较均衡,没有明显的短板,并且在语音领域效果比较突出。此外:社区不够活跃,但是性能突出,擅长语音方面的相关研究。

    八、其他框架

            除了上述的几个框架,还有不少的框架,都有一定的影响力和用户。比如百度开源PaddlePaddle,CMU开发的 DyNet简洁无依赖符合C++11标准的tiny-dnn,使用Java开发并且文档极其优秀的Deeplearning44j,还有英特尔开源的 Nervana, Amazon开源的 DSSTNE。这些框架各有优缺点,但是大多流行度和关注度不够,或者局限于一定的领域,因此不做过多的介绍。此外,还有许多专门针对移动设备开发的框架,如CoreML、MDL,这些框架纯粹为部署而诞生,不具有通用性,也不适合作为研究工具,同样不做介绍。

    展开全文
  • [深度学习]如何选择深度学习框架

    千次阅读 2019-04-03 20:47:53
    不管是前端技术框架还是后端技术框架以及在深度学习技术框架,我们在决定使用前,都需要考虑以下几个方面,也就是我们在选型上通用的依据,这里以深度学习框架选型举例子: 1) 性能方面 性能方面一部分主要由实现...

    不管是前端技术框架还是后端技术框架以及在深度学习技术框架,我们在决定使用前,都需要考虑以下几个方面,也就是我们在选型上通用的依据,这里以深度学习框架选型举例子:
    在这里插入图片描述
    1) 性能方面
    性能方面一部分主要由实现该框架的语言决定,还有一小部分原因该框架的实现的架构决定。理论上说,运行最快的仍旧是C或C++一类,离着CPU指令近些语言效率要高很多。
    之前有篇文章专门介绍过深度学习流行的框架比较,有Torch,TensorFlow,Caffe等多种框架,在相同的条件下Torch运行速度要快很多,而TensorFlow在这几个框架中是比较慢的,但是在真正的工程应用中造成差距大大多来自于样本的数量和网络设计等方面,这个方面的差距往往是10倍或者100倍,而语言的效率与其相比几乎可以忽略不计了。所以语言的性能就不是最主要的参考标准了。
    2)社区的活跃度
    这些技术框架,各自的社区的活跃度是个非常重要的参考因素。活跃的社区就意味着很多人在使用这个框架,会有更多人贡献代码,提交bug,修复bug,因此用它做起项目的风险就非常小,而我们学起来也比较容易,因此也会少踩很多坑。
    3)深度学习语言
    深度学习框架几乎都支持Python的“驱动“”,或者俗称之为接口。也不排除少部分框架只支持原生接口,例如Torch只支持Lua脚本,CNTK只支持C++。。。

    综上所述:应该说TensorFlow在这些方便做的都是非常不错的:
    1)有着非常活跃的社区
    2)来自于世界最大软件公司谷歌支持开发和维护,比较有保障
    2)语言Python,性能虽然并不快,但是满足目前绝大多数工作已经非常足够了,往往那种数量级效率的提升是无法通过变更一个框架实现的。
    所以总的来讲TensorFlow应该是现有深度学习框架中比较适合用来进行工程应用的

    资源下载
    资源下载
    在这里插入图片描述

    展开全文
  • 常见深度学习框架比较

    万次阅读 多人点赞 2018-09-10 11:35:59
    常见的深度学习框架有 TensorFlow 、Caffe、Theano、Keras、PyTorch、MXNet等,如下图所示。这些深度学习框架被应用于计算机视觉、语音识别、自然语言处理与生物信息学等领域,并获取了极好的效果。下面将主要介绍...
  • 本文首先介绍GitHub中最受欢迎的开源深度学习框架排名,然后再对其进行系统地对比 下图总结了在GitHub中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在GitHub里的收藏数,这个数据由MitchDeFelice在...
  • 一、深度学习框架概述与深度学习技术的四大阵营 人工智能从学术理论研究到生产应用的产品化开发过程中通常会涉及到多个不同的步骤和工具,这使得人工智能开发依赖的环境安装、部署、测试以及不断迭代改进准确性和...
  • 常用深度学习框架

    2018-12-21 15:43:09
    常用深度学习框架 2018.09.13 深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon等。我们参考...
  • 亲自动手写一个深度学习框架

    千人学习 2018-10-30 15:24:47
    本课程带领大家亲自动手写一个更方便大家使用的深度学习框架,帮助大家理解常用技术的底层实现。具体安排如下: 1.板书完成数学推导,同时画图讲解; 2.基础:Python实现多层感知器; 3.进阶:C++实现深度学习...
  • 编者按:如果把深度学习...本文中,年仅22岁的开源框架Dragon的设计者、中科院计算所博士研究生、中科视拓实习算法研究员潘汀,将结合独立开发深度学习框架的经验,介绍框架设计中的关键技术,并给出其发展趋势的简单
  • 深度学习框架比较

    2019-06-29 16:57:06
    深度学习框架比较 “工欲善其事,必先利其器。”事实上,适用于深度学习的“器”有很多,如 Theano、 Keras、 Caffe 及 Pytorch 等,它们各有特色。 下面我们对这几款比较流行的深度学习框架分别给予简单 的介绍,...
  • TensorFlow深度学习框架学习(一):深度学习概念以及应用最近开始学习比较火的深度学习框架:TensorFlow,主要原因是看猪场招聘需要熟练TensorFlow框架(有点急功近利,嘿嘿),于是开始提前做准备。以下是读...
  • 深度学习框架汇总

    2019-03-11 08:58:21
    为了进行高效的开发一个深度学习系统,许多大型科技公司都推出了自己的深度学习框架。而且,最近这段时间接二连三的有新的“深度学习”框架推出。自己感觉有必要做一个总结,来收集一下这些深度学习框架。 但是,...
  • Keras 深度学习框架

    千次阅读 2019-03-28 12:18:13
    https://keras.io/zh/why-use-keras/为什么选择Keras? ... 主流深度学习框架对比(TensorFlow、Keras、MXNet、PyTorch) ...近几年来,深度学习的研究和应用的热潮持续高涨,各种开源深度学习框架层出不穷...
  • 目录深度学习框架 1.Theano & Ecosystem 2.Torch 3. Tensorflow 4. Caffe 5. CNTK 6.DSSTNE 7.Speed 机器学习框架 1.sci-kit learn 2.Apache Mahout 3.SystemML 4.Microsoft
  • 深度解析Python深度学习框架的对比

    千次阅读 2019-03-05 16:08:49
    从PyTorch到Mxnet ,对比这些Python深度学习框架。选择什么深度学习框架一直是开发者非常关心的一个话题,而且深度学习框架之间的「战争」也越来越激烈。过去一段时间,机器之心发过多篇机器学习框架的对比文章,但...
  • 深度学习框架对比

    2018-09-08 14:35:02
    目前比较流行的开源深度学习框架有Tensorflow、Caffe、Theano、Keras、Mxnet、Pytorch等。 以下分别介绍各大框架的基本技术架构和特点。 Tensorflow tensorflow目前的用户最多,它是Google2015年的发布的一个深度...
  • 深度解析BigDL深度学习框架

    千次阅读 2017-07-21 11:23:07
    作者:本文来源于Intel官网 ...BigDL是一种基于Apache Spark的分布式深度学习框架。通过BigDL,开发者可以使用Scala或Python语言编写深度学习应用程序,并可以充分发挥Spark群集在可扩展方面的强大能力。这篇文章主...
  • 深度学习框架概述

    万次阅读 多人点赞 2018-07-22 23:50:59
    深度学习框架概述 1、引言 1.1 应用领域 1.2 图片识别框架 1.3 神经网络(neural network) 1.3.1 神经元(neuron) 1.3.2 神经网络 1.3.3 全连接前馈神经网络(full connect feedforward network) 1.3.4 应用...
  • darknet深度学习框架

    千次阅读 2018-06-08 14:42:23
    https://pjreddie.com/darknet/用于人脸表情端到端系统的重训练 附录1:darknet深度学习框架源码分析:详细中文注释,涵盖框架原理与实现语法分析https://github.com/hgpvision/darknetdarknet是一个较为轻型的完全...
  • 移动端深度学习框架

    2019-05-21 23:15:48
    一、常用移动端深度学习框架 深度学习发展很快,最近又出现了几个新的移动端前向框架,例如Tengine和TVM. 我们还没有对这两个框架进行深入研究,但是在对应的wiki中,可以看到这两个框架的速度对于现有框架都具有...
  • 深度学习框架 Keras,深度学习LSTM模型 1 数据源:黄金主力数据 来源于JQData (数据由JQData支持 ) 2 数据清洗 3 使用黄金主力数据 进⾏预测的2个实验 数据集:70%用做训练集 训练模型 ;30%测试集。 模型:Keras...
  • 主流深度学习框架对比

    万次阅读 多人点赞 2017-02-20 20:20:35
    深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearning4、Lasagne、Neon,等等。然而TensorFlow却杀出重围,在关注度...
  • 深度学习框架介绍

    千次阅读 2018-09-15 15:59:55
    1. 常见深度学习框架对比 框架名 主语言 从语言 灵活性 上手难易 开发者 Tensorflow C++ cuda/python 好 难 Google Caffe C++ cuda/python/Matlab 一般 中等 ...
  • 各种深度学习框架实现猫狗大战

    千次阅读 2019-12-21 15:43:24
    不同深度学习框架下的实现教程/github地址 1.Pytorch 2.TensorFlow 3.Keras 4.MXNet 不同深度学习框架下的实现教程/github地址(好用的话记得star噢) 1.Pytorch 一个教程和项目地址,代码需要自己建立项目,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,077
精华内容 8,030
关键字:

深度学习框架