惊蛰、什锦甜、蒋宝尚编译

资源 | 16个GitHub收藏和贡献率最高的深度学习框架

深度学习是一种基于对数据进行表证学习的机器学习方法,近些年不断发展并广受欢迎。

作为一个相对较新的概念,对于无论是想要进入该领域的初学者,还是已经熟知方法的老手来说,触手可及的学习资源太丰富了。

为了不被日新月异的技术和潮流所淘汰,积极参与深度学习社区中开源项目的学习和互动是个很好的方法。

在本文中文摘菌将为大家详细介绍16种GitHub中最受欢迎的深度学习开源平台和开源库,除此之外,还有些比较不错的平台和框架虽然没有进入榜单,文摘菌也列了出来,供大家参考。

GitHub收藏和贡献率最高的16个开源深度学习框架,圆圈的颜色越偏绿色表示框架越新,颜色越偏蓝色表明框架的时间越早。

从上图可知,TensorFlow高居榜首,第二名和第三名的是分别是Keras和Caffe。下面文摘菌就将这些资源分享给大家。

16个最棒的深度学习开源框架和平台

TensorFlow

TensorFlow最初由谷歌的Machine Intelligence research organization 中Google Brain Team的研究人员和工程师开发的。这个框架旨在方便研究人员对机器学习的研究,并简化从研究模型到实际生产的迁移的过程。

收藏: 96655, 贡献人数: 1432, 程序提交次数: 31714, 建立日期: 2015年11月1日。

链接:

https://github.com/tensorflow/tensorflow

Keras

Keras是用Python编写的高级神经网络的API,能够和TensorFlow,CNTK或Theano配合使用。

收藏: 28385, 贡献人数: 653, 程序提交次数: 4468, 建立日期: 2015年3月22日。

链接:

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

Caffe

Caffe是一个重在表达性、速度和模块化的深度学习框架,它由Berkeley Vision and Learning Center(伯克利视觉和学习中心)和社区贡献者共同开发。

收藏: 23750, 贡献人数: 267, 程序提交次数: 4128, 建立日期: 2015年9月8日。

链接:

https://github.com/BVLC/caffe

 Microsoft Cognitive Toolkit

Microsoft Cognitive Toolkit(以前叫做CNTK)是一个统一的深度学习工具集,它将神经网络描述为一系列通过有向图表示的计算步骤。

收藏: 14243, 贡献人数: 174, 程序提交次数: 15613, 建立日期: 2014年7月27日。

链接:

https://github.com/Microsoft/CNTK

 PyTorch

PyTorch是与Python相融合的具有强大的GPU支持的张量计算和动态神经网络的框架。

收藏: 14101, 贡献人数: 601, 程序提交次数: 10733, 建立日期: 2012年1月22日。

链接:

https://github.com/pytorch/pytorch

Apache MXnet

Apache MXnet是为了提高效率和灵活性而设计的深度学习框架。它允许使用者将符号编程和命令式编程混合使用,从而最大限度地提高效率和生产力。

收藏: 13699, 贡献人数: 516, 程序提交次数: 6953, 建立日期: 2015年4月26日。

链接:

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

DeepLearning4J

DeepLearning4J和ND4J,DataVec,Arbiter以及RL4J一样,都是Skymind Intelligence Layer的一部分。它是用Java和Scala编写的开源的分布式神经网络库,并获得了Apache 2.0的认证。

收藏:8725, 贡献人数: 141, 程序提交次数: 9647, 建立日期: 2013年11月24日。

链接:

https://github.com/deeplearning4j/deeplearning4j

Theano

Theano可以高效地处理用户定义、优化以及计算有关多维数组的数学表达式。 但是在2017年9月,Theano宣布在1.0版发布后不会再有进一步的重大进展。不过不要失望,Theano仍然是一个非常强大的库足以支撑你进行深度学习方面的研究。

收藏: 8141, 贡献人数: 329, 程序提交次数:27974, 建立日期: 2008年1月6日。

链接:

https://github.com/Theano/Theano

TFLearn

TFLearn是一种模块化且透明的深度学习库,它建立在TensorFlow之上,旨在为TensorFlow提供更高级别的API,以方便和加快实验研究,并保持完全的透明性和兼容性。

收藏: 7933, 贡献人数: 111, 程序提交次数: 589, 建立日期:2016年3月27日。

链接:

https://github.com/tflearn/tflearn

 Torch

Torch是Torch7中的主要软件包,其中定义了用于多维张量的数据结构和数学运算。此外,它还提供许多用于访问文件,序列化任意类型的对象等的实用软件。

收藏: 7834, 贡献人数: 133, 程序提交次数: 1335, 建立日期:2012年1月22日。

链接:

https://github.com/torch/torch7

Caffe2

Caffe2是一个轻量级的深度学习框架,具有模块化和可扩展性等特点。它在原来的Caffe的基础上进行改进,提高了它的表达性,速度和模块化。

收藏: 7813, 贡献人数: 187, 程序提交次数: 3678, 建立日期:2015年1月21日。

链接:

https://github.com/caffe2/caffe2

PaddlePaddle

PaddlePaddle(平行分布式深度学习)是一个易于使用的高效、灵活、可扩展的深度学习平台。它最初是由百度科学家和工程师们开发的,旨在将深度学习应用于百度的众多产品中。

收藏: 6726, 贡献人数: 120, 程序提交次数: 13733, 建立日期:2016年8月28日。

链接:

https://github.com/PaddlePaddle/Paddle

DLib

DLib是包含机器学习算法和工具的现代化C ++工具包,用来基于C ++开发复杂的软件从而解决实际问题。

收藏: 4676, 贡献人数: 107, 程序提交次数: 7276, 建立日期:2008年4月27日。

链接:

https://github.com/davisking/dlib

 Chainer

Chainer是基于python用于深度学习模型中的独立的开源框架,它提供灵活、直观、高性能的手段来实现全面的深度学习模型,包括最新出现的递归神经网络(recurrent neural networks)和变分自动编码器(variational auto-encoders)。

收藏: 3685, 贡献人数: 160, 程序提交次数: 13700, 建立日期: 2015年4月12日。

链接:

https://github.com/chainer/chainer

Neon

Neon是Nervana开发的基于Python的深度学习库。它易于使用,同时性能也处于最高水准。

收藏: 3466, 贡献人数: 77, 程序提交次数: 1112, 建立日期: 2015年5月3日。

链接:

https://github.com/NervanaSystems/neon

Lasagne

Lasagne是一个轻量级的库,可用于在Theano上建立和训练神经网络

收藏: 3417, 贡献人数:64, 程序提交次数: 1150, 建立日期:2014年9月7日。

链接:

https://github.com/Lasagne/Lasagne

其他选择

  • H2O.ai

    https://github.com/h2oai/h2o-3

  • PyLearn

    https://github.com/lisa-lab/pylearn2

  • BigDL

    https://github.com/intel-analytics/BigDL

  • Shogun

    https://github.com/shogun-toolbox/shogun

  • Apache SINGA

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

  • Blocks

    https://github.com/mila-udem/blocks

  • Mocha

    https://github.com/pluskid/Mocha.jl

相关报道:

https://www.kdnuggets.com/2018/04/top-16-open-source-deep-learning-libraries.html

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

入门深度学习GitHub深度学习开源平台和开源库
2
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

英特尔机构
Intel

英特尔是计算创新领域的全球领先厂商,致力于拓展科技疆界,让最精彩体验成为可能。英特尔创始于1968年,已拥有近半个世纪产品创新和引领市场的经验。英特尔1971年推出了世界上第一个微处理器,后来又促进了计算机和互联网的革命,改变了整个世界的进程。如今,英特尔正转型成为一家数据公司,制定了清晰的数据战略,凭借云和数据中心、物联网、存储、FPGA以及5G构成的增长良性循环,提供独到价值,驱动日益发展的智能互联世界。英特尔专注于技术创新,同时也积极支持中国的自主创新,与产业伙伴携手推动智能互联的发展。基于明确的数据战略和智能互联全栈实力,英特尔瞄准人工智能、无人驾驶、5G、精准医疗、体育等关键领域,与中国深度合作。面向未来,英特尔致力于做中国高价值合作伙伴,在新科技、新经济、新消费三个方面,着力驱动产业协同创新,为实体经济增值,促进消费升级。

涉及领域
Google Brain机构
张量技术
Tensor

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

TensorFlow技术
TensorFlow

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

推荐文章