+发表新主题
查看: 2592|回复: 0

机器学习开源框架主要有哪些,各自的优缺点是什么?

[复制链接]

机器学习开源框架主要有哪些,各自的优缺点是什么?

[复制链接]
木马童年 发表于 2018-2-10 14:28:14 浏览:  2592 回复:  4 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式
u=307452151,3430684261&fm=27&gp=0.jpg

          人工智能这么火,人工智能的重要研究领域,机器学习的框架主要有哪些,优缺点是什么?


回复

使用道具 举报

265

主题

593

帖子

3257

积分

网站编辑

Rank: 8Rank: 8

积分
3257
木马童年
 楼主|
发表于 2018-2-10 14:31:28 显示全部楼层
本帖最后由 木马童年 于 2018-2-10 14:36 编辑

      Theano 在深度学习框架中是祖师级的存在。它的开发始于2007,早期开发者包括传奇人物 Yoshua Bengio 和 Ian Goodfellow。
      Theano 基于 Python,是一个擅长处理多维数组的库(这方面它类似于 NumPy)。当与其他深度学习库结合起来,它十分适合数据探索。它为执行深度学习中大规模神经网络算法的运算所设计。
优点:
  • Python + NumPy 的组合
  • 使用计算图
  • RNN 与计算图兼容良好
  • 有 Keras 和 Lasagne 这样高层的库
  • 不少开发者反映,它的学习门槛比Tensorflow 低

缺点:
  • 本身很底层
  • 比 Torch 臃肿
  • 不支持分布式
  • 有的错误信息没什么用
  • 大模型的编译时间有时要很久
  • 对事先训练过的模型支持不足
  • 用的人越来越少


回复

使用道具 举报

265

主题

593

帖子

3257

积分

网站编辑

Rank: 8Rank: 8

积分
3257
木马童年
 楼主|
发表于 2018-2-10 14:34:07 显示全部楼层
         Caffe,这又是一个祖师级的深度学习框架,2013 年就已问世,它的全称是 “Convolution Architecture For Feature Extraction”,意为“用于特征提取的卷积架构”,很明白地体现了它的用途。Caffe 的创始人,是加州大学伯克利分校的中国籍博士生贾扬清。当时贾在伯克利计算机视觉与学习中心做研究。博士毕业后,他先后在谷歌和 Facebook 工作。
         在 AI 开发者圈子中,Caffe 可以说是无人不知、无人不晓。据 GitHub 最新的机器学习项目热度排名,Caffe 仅位列 Tensorflow 之后,雄踞第二。它是一个被广泛使用的机器视觉库,把 Matlab 执行快速卷积网络的方式带到 C 和 C++。虽然 Caffe 被部分开发者看做是通用框架,但它的设计初衷是计算机视觉——并不适于其他深度学习应用,比如文字、语音识别和处理时间序列数据。
       Caffe 的主要用途:利用卷积神经网络进行图像分类。这方面它代表了业内一流水平,是开发者的首选。
        说到 Caffe,就不得不提 Model Zoo。后者是在 Caffe 基础上开发出的一系列模型的汇聚之地。因此,开发者使用 Caffe 最大的好处是:能在 Model Zoo 海量的、事先训练好的神经网络中,选择贴近自己使用需求的直接下载,并立刻就能用。
优点:
  • 非常适合前馈神经网络和图像处理任务
  • 非常适于利用现有神经网络
  • 不写代码也能训练模型
  • Python 交互界面做得不错
缺点:
  • 需要 C++ 和 CUDA 来编写新 GPU 层级。
  • 在递归神经网络上表现不佳
  • 对于大型神经网络,它十分繁琐(GoogLeNet, ResNet)
  • 没有商业支持

回复

使用道具 举报

265

主题

593

帖子

3257

积分

网站编辑

Rank: 8Rank: 8

积分
3257
木马童年
 楼主|
发表于 2018-2-10 14:39:15 显示全部楼层
     Torch,相比其他开源框架,Torch 是一个非主流,说的就是它的开发语言:基于1990 年代诞生于巴西的 Lua,而非机器学习界广泛采用的 Python。其实 Lua 和Python 都属于比较容易入门的语言。但后者明显已经统治了机器学习领域,尤其在学界。而企业界的软件工程师最熟悉的是 Java,对 Lua 也比较陌生。这导致了 Torch 推广的困难。因此,虽然 Torch 功能强大,但并不是大众开发者的菜。
    Torch 的热门应用:在增强学习领域,用卷积神经网络和代理处理图像问题,兴趣主要在增强学习的开发者, Torch 是首选。
优点:
  • 灵活度很高
  • 高度模块化
  • 容易编写你自己的层级
  • 有很多训练好的模型

缺点:
  • 需要学  Lua
  • 通常需要自己写训练代码
  • 不适于循环神经网络
  • 没有商业支持


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则