缺乏支持!Caffe深度学习框架未来堪忧

文章讲的是缺乏支持!Caffe深度学习框架未来堪忧,Caffe是由贾扬清在伯克利上学期间开发的,该项目已经开放源码,目前已获得社区贡献以及伯克利视觉和学习中心(BVLC)赞助。广泛来说,BVLC现在是伯克利人工智能研究(BAIR)实验室的一部分。同样,Caffe也已经超出了视觉范围,包括非视觉深度学习部分,虽然已发布的Caffe模型绝大多数仍然与图像和视频相关。

  Caffe是一个由表达式,速度和模块化组成的深度学习框架。其优势在于Caffe的模型和优化是通过没有硬编码的配置来定义的,以及在GPU机器上设置了一个flag以方便在CPU和GPU之间切换,然后部署到集群或移动设备上。

  与此同时,随着我们进入2017年,Caffe已经在1.0.0 RC 3版本几乎停留一年了。虽然有一些代码改进和可见进度,但项目仍然不稳定。目前很多人认为Caffe的安装和配置还比较复杂,但文档可以接受。


▲在Caffe演示中,基于网络的图像分类示例使用卷积神经网络,这也是Caffe的强大之一。该演示使用提供的范例是正常的,但我自己的图像没有试验成功,即便我的图片已经符合所列出的要求。

  Caffe功能和用例

  Caffe是一个代码经过良好测试的开放框架,以及深度学习模型和实例,使用以纯C ++编写的核心库与CUDA,以及命令行,Python和MATLAB接口为主。

  Facebook使用Caffe模型对上传图像进行有害内容检测,这是一个很重要的功能,但摄影师对这种直接过滤而不考虑艺术背景的方式很不赞同。

  Caffe另一大新颖技术是“微调”。这是一个对大量数据训练模型的过程,例如ImageNet的图像关键词标签,编辑神经网络参数以及使用预训练参数作为学习新技能的起点,例如图像样式识别,微调技术有时可以减少新类的训练时间。

  Caffe安装

  当我几个月前第一次尝试查看Caffe时,当时我无法在MacOS Sierra上构建Caffe可执行文件,追踪问题发现有一行显示在makefile文件中明确引用旧版本操作系统框架。我决定等维护者开始构建Sierra,再继续审查处理。我也希望,Nvidia很快就会开始支持Xcode 8,使我可以在不影响其他项目的前提下构建Caffe与CUDA GPU支持。


▲在MacBook Pro上,在2.6 GHz Intel Core i7 CPU上培训MNIST LeNet大约需要7.5分钟,10,000次迭代。这个速度足够快,可以与运行LeNet的其他框架相媲美。但是在CUDA GPU上,如果适合GPU的RAM,则只需要一分钟。

  更新存储库后,我可以构建和测试CPU的可执行文件,以及配置Python库以便执行示例Jupyter notebook。然而,当笔记本使用shell脚本访问单元格时,Python就会崩溃。


▲在MacOS Sierra上,可以将Caffe导入Jupyter Notebook,但无法下载预先训练的CaffeNet模型。

  我试着在Windows 10上安装Caffe,在Caffe中有相应支持。新的CMake构建声称是可以执行的,但似乎没有创建可执行文件。 一旦将项目从Visual Studio 2013转换到Visual Studio 2015,旧版本的Visual Studio确实可以正常工作。但是,无法安装python,甚至不能启动Jupyter Notebook。

  由于Caffe的“home”系统是Ubuntu,我启动了一个Ubuntu“Trusty”虚拟机,并根据文档尝试构建Caffe。这一次,我可以构建和测试可执行文件,但还是不能运行Python。

  这让我只有两个选项,选择故障排除或者故障安装:在Docker中构建和运行,或在云中运行预配置的机器映像。在存储库中读取Docker文件的文档比较模糊,Docker脚本在Ubuntu上安装项目的方式与文档中提到的不同,新手安装可能需要花费几天时间,但安装完你就会发现实际只需要一个小时就可以。

  Caffe运行

  Caffe有命令行,Python和MATLAB接口。由于目前缺少MATLAB副本,我没有尝试测试该接口。Caffe依赖ProtoText文件来定义其模型和求解器。 如下所示,显示了参考“CaffeNet”图像分类器的模型和求解器配置。


▲Caffe依赖ProtoText文件来定义其模型和求解器。这个ProtoText文件定义了用于ImageNet图像分类的参考CaffeNet(修改的AlexNet)卷积模型。


▲这个ProtoText文件定义了CaffeNet(修改的AlexNet)求解器用于ImageNet图像分类。注意,可以在此文件中设置GPU或CPU模式。

  Caffe在其模型模式中逐层定义网络。网络定义从输入数据到整个模型。当数据和派生数据向前向后遍历网络时,Caffe存储,通信和操作信息为blob(二进制对象),内部以C语言方式存储N维数组。图层对blob执行操作,它们构成了Caffe模型组件。

  一旦你建立了PyCaffe,你就可以在Caffe上运行Python脚本,并且能够运行Jupyter Notebook。如上所述,我在运行Jupyter Notebook时遇到了一些问题,虽然我可以在NBViewer中查看已发布的notebook,如下所示。


▲在NBViewer中显示的预先计算的Caffe Jupyter Notebook。这本解释了使用一只可爱的小猫在Caffe上实验的过程。建议使用该模型需要在GeForce GT 650M上有超过1GB的GPU内存可用,原始图像应使用g2.2xlarge或更好的实例。

  结语

  Caffe目前的社区比较懒散,导致该项目后期的发展缓慢。在社区中发问,很难得到答复。相比之下,AWS不仅具有可用于GPU的实例,而且还提供具有Caffe预构建并具有GPU支持的AMI映像。亚马逊不再是拥有这种支持的唯一云。还可以考虑Azure Batch Shipyard及其使用NC系列实例的深度学习,Google云也即将加入这场战争。

  正如我们所看到的,Caffe是一个深度学习框架,从Berkeley的视觉和学习研究中心成长起来的,目前仍然强调图像处理,尽管其范围有所扩大。与其他深度学习框架相比,Caffe开发人员对项目的成熟度,可移植性和迭代速度有待提高。如果现有的Caffe模型符合你的需求或可以根据你的目的微调,建议使用。否则,建议使用TensorFlow,MXNet或CNTK。


▲免费开源。 平台:Linux,MacOS,Windows,Docker。

作者:zyy

来源:IT168

原文链接:缺乏支持!Caffe深度学习框架未来堪忧

时间: 2024-12-11 15:13:14

缺乏支持!Caffe深度学习框架未来堪忧的相关文章

深度学习框架Caffe源码解析

相信社区中很多小伙伴和我一样使用了很长时间的Caffe深度学习框架,也非常希望从代码层次理解Caffe的实现从而实现新功能的定制.本文将从整体架构和底层实现的视角,对Caffe源码进行解析. Caffe总体架构 Caffe框架主要有五个组件,Blob,Solver,Net,Layer,Proto,其结构图如下图1所示.Solver负责深度网络的训练,每个Solver中包含一个训练网络对象和一个测试网络对象.每个网络则由若干个Layer构成.每个Layer的输入和输出Feature map表示为I

解析:深度学习框架Caffe源码

雷锋网按:本文作者薛云峰,主要从事视频图像算法的研究,于浙江捷尚视觉科技股份有限公司担任深度学习算法研究员. 相信很多小伙伴和我一样使用了很长时间的Caffe深度学习框架,也非常希望从代码层次理解Caffe的实现从而实现新功能的定制.本文将从整体架构和底层实现的视角,对Caffe源码进行解析. 1.Caffe总体架构 Caffe框架主要有五个组件,Blob,Solver,Net,Layer,Proto,其结构图如下图1所示.Solver负责深度网络的训练,每个Solver中包含一个训练网络对象和

财富:亚马逊采用 MXNet ,巨头间深度学习框架之争白热化

随着人工智能的发展,现代科技公司的终极目标是构建无需人类介入.能够自我思考的 AI 软件. 亚马逊首席技术官 Werner Vogels 在周二的一篇博客文章中表示,亚马逊网络服务公司(AWS)刚刚选择 MXNet 作为其最主要的深度学习框架. <财富>今年 9 月的一篇深度长文回溯了深度学习推动的人工智能在整个计算生态系统引发的革命,如文章所述,深度学习是 AI 的一个子集,包含神经网络的使用.神经网络在算法(而非人类程序员)的帮助下通过处理大量数据来学习并解决问题. Vogels 表示,A

TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

Google 近日发布了 TensorFlow 1.0 候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自 TensorFlow 于 2015 年底正式开源,距今已有一年多,这期间 TensorFlow 不断给人以惊喜.在这一年多时间,TensorFlow 已从初入深度学习框架大战的新星,成为了几近垄断的行业事实标准. 主流深度学习框架对比 深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括 TensorFlow.Caffe.Keras.CNTK.Torch7.MX

TensorFlow和Caffe、CNTK、MXNet等其他7种深度学习框架的对比

主流深度学习框架对比 深度学习研究的热潮持续高涨,各种开源深度学习框架也层出不穷,其中包括TensorFlow.Caffe8.Keras9.CNTK10.Torch711.MXNet12.Leaf13.Theano14.DeepLearning415.Lasagne16.Neon17,等等.然而TensorFlow却杀出重围,在关注度和用户数上都占据绝对优势,大有一统江湖之势.表2-1所示为各个开源框架在GitHub上的数据统计(数据统计于2017年1月3日),可以看到TensorFlow在st

【深度学习框架大PK】褚晓文教授:五大深度学习框架三类神经网络全面测评(23PPT)

香港浸会大学褚晓文教授团队在2016年推出深度学习工具评测的研究报告,并在2017年年初发布更新,引起广泛关注.见新智元报道< 基准评测 TensorFlow.Caffe.CNTK.MXNet.Torch 在三类流行深度神经网络上的表现(论文)>,2017年初版本的评测的主要发现可概括如下: 总体上,多核CPU的性能并无很好的可扩展性.在很多实验结果中,使用16核CPU的性能仅比使用4核或8核稍好.TensorFlow在CPU环境有相对较好的可扩展性. 仅用一块GPU卡的话,FCN上Caffe

详解丨FPGA:深度学习的未来?

转自新智元 来源:arxiv 作者:Griffin Lacey  Graham Taylor Shawaki Areibi 摘要 最近几年数据量和可访问性的迅速增长,使得人工智能的算法设计理念发生了转变.人工建立算法的做法被计算机从大量数据中自动习得可组合系统的能力所取代,使得计算机视觉.语音识别.自然语言处理等关键领域都出现了重大突破.深度学习是这些领域中所最常使用的技术,也被业界大为关注.然而,深度学习模型需要极为大量的数据和计算能力,只有更好的硬件加速条件,才能满足现有数据和模型规模继续扩

BNN - 基于low-bits量化压缩的跨平台深度学习框架

写在最前     本文介绍阿里IDST部门研发.基于low-bits量化压缩的深度学习框架BNN(Binary Neural Network),BNN具有以下特点:     1) 跨平台:BNN可以在不同的主流硬件平台上进行部署,包括ARM系列移动端处理器.Intel系列服务器以及正在开发中的NVidia的图形处理器:     2)压缩比高:使用了自研发low-bits量化压缩技术,在算法精度几乎无损的前提下能达到40-100倍压缩率,而且我们也提供无需重新训练的压缩方式,极大简化了迭代周期:

横向对比七大深度学习框架

文章讲的是横向对比七大深度学习框架,在深度学习项目开始前,选择一个合适的框架是非常重要的事情.最近,来自数据科学公司 Silicon Valley Data Science 的数据工程师 Matt Rubashkin(UC Berkeley 博士)为我们带来了深度学习 7 种流行框架的深度横向对比,希望本文能对你带来帮助. 在 SVDS,我们的研发团队一直在研究不同的深度学习技术;从识别图像到语音,我们也在各类框架下实现了不少应用.在这个过程中,我们意识到需要一个简明的方式来获取数据.创建模型.