这些年,我们用过的深度学习开源框架
2016-11-03 11:31:34
极小验


通过前面几篇科普性文章的介绍,相信大家对深度学习已经有了一定的了解。可能有许多用户也想自己去倒腾倒腾,那么今天极小验就给大家整理了几款比较常用的,开源深度学习框架。

Tensorflow
tensorflow.png-7.8kB
2015年11月9日,Google发布人工智能系统Tensorflow。这款系统是Google 的第二代机器学习系统,相较于DistBelief,TensorFlow具有更好的灵活性、可移动、易于使用,而且是完全开源的。这是目前github上最火的深度学习开源项目。

优点:
接口丰富,灵活性较高
支持分布式计算
经过不断优化,目前运行速度相比开源时有了显著提升
在该平台的基础上有一些高质量的上层框架,比如Keras 、TensorFlow Slim、PrettyTensor 等等。这些上层框架很适合我们初学者作为学习使用。
缺点:
对于RNN模型的优化仍有提升空间。
显存占用比较多。

Caffe

caffe.png-7.6kB
Caffe是一个清晰而高效的深度学习框架,其作者是毕业于UC Berkeley的贾扬清博士,目前在FAIR(Facebook人工智能研究院)工作。 Caffe是基于的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换,同时支持多GPU。主要用在计算机视觉领域。

优点:
上手快,模型与相应优化都是以文本形式而非代码形式给出。
速度快,能够运行最棒的模型与海量的数据。
模块化,方便扩展到新的任务和设置上。
开放性,社区提供了许多完整模型和训练好的参数,方便使用

缺点:
对RNN模型支持的不够完善

Theano

theano.png-7.3kB

Theano是在BSD许可证下发布的一个开源项目,于2008年发布,是由LISA集团(现MILA)在加拿大魁北克的蒙特利尔大学(Yoshua Bengio主导)开发。
Theano使用符号计算,用起来简单方便,可以作为入门选择之一。用它可以很方便的将数学表达式通过theano表达出来。后续几乎所有的深度学习框架都借鉴了Theano的符号计算思想。

优点:
灵活性好,能很快的验证新的想法
基于Python封装能让使用者快速上手

缺点:
模型较大时编译时间较长
输出的错误信息不够友好,对初学者有一定难度

Torch
torch.png-7.5kB

Torch并没有跟随Python的潮流,它底层用C语言实现,用Lua对接口进行封装,被Facebook人工智能研究实验室应用和维护。

优点:
对卷积网络的支持非常好
Torch通过很多非官方的扩展支持大量的RNN,同时网络的定义方法也有很多种。
运行在LuaJIT上,与C++、C#以及Java等工业语言相比速度较快,也不需额外编译。

缺点:
对初学者缺乏规范的例子
需要先迈过Lua这个门槛,不过对于如果熟悉python,lua也能很快上手
需要LuaJIT的支持,虽然性能不错,但是集成却存在着较大的障碍。

MXNet
MXNet.png-9.1kB

MXnet是开源深度学习计算平台,它是DMLC分布式机器学习通用工具包的重要部分。它支持Linux,Windows和Mac平台,支持很多种语言,很容易上手学习,运用起来也很灵活。

优点:
轻量化,可移植性高。
分布式并行计算。
显存利用高效,并且可以灵活的运行在移动设备上。
同时支持声明式和命令式编程

缺点:
文档不够友好,稍显杂乱
低级 Tensor 操作符很少,灵活性一般。

Keras

kears.png-7.2kB
Keras是一个简约、高度模块化的神经网络库,通过Python封装了神经网络各类常见模块,包括CNN、RNN等,底层支持基于Theano和Tensorflow运行。利用Keras能快速地搭建模型,对初学者是个不错的选择。

优点:
简单易用,上手容易
支持的模型比较灵活,能较方便地搭建各类模型

缺点:
目前只支持单卡运算,对于大规模模型不适合
文档有些部分对初学者门槛较高,可能需要深入源码

以上呢只是极小验收集整理的部分比较知名的,应用比较广泛的开源框架,还有一些大家也可以去尝试,比如像Deeplearning4j,Neon,chainer,百度刚开源的PaddlePaddle等等。在Github上都能够找到相应的安装软件以及说明文档。

前人的努力,为我们后继者的学习修桥铺路,人类文明的进程就是一次又一次站在巨人的肩膀上,我们看到了不一样的高度,不一样的世界。

极验验证也是一样,验证安全2.0的创新不是异想天开的,是在前人的基础上,不断归纳总结,不断研究,和那些黑产势力不断作斗争的结果。安全这条路是没有尽头的,极验验证将一直战斗下去。
极验验证,首创行为式验证技术,利用深度学习,机器学习等技术创建人机行为识别模型,帮助企业网站、应用有效防止垃圾注册,薅羊毛,撞库登录,活动作弊等恶意攻击。
赶快来使用吧!