本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

码报:【j2开奖】初学者怎么选择神经网络环境?对比MATLAB、Torch和TensorFlow(3)

时间:2017-04-14 04:10来源:香港现场开奖 作者:www.wzatv.cc 点击:
在这一节,我们将提供对这些环境的整体概览。即使我们在表 1 中提供了基于一些我们认为和机器学习软件开发主要相关的特征的分数比较,但本研究的目

在这一节,我们将提供对这些环境的整体概览。即使我们在表 1 中提供了基于一些我们认为和机器学习软件开发主要相关的特征的分数比较,但本研究的目的并不是通过这样简单的评估来完成分析。相反,我们希望提出一个有用的引导,可帮助人们进入广义上的 ANN 和机器学习领域,从而根据个人背景和要求来在环境中自我定位。更完整的和统计相关的比较可参阅:,这里我们进行了总结,以帮助人们加速单个和全局的任务开发。

我们首先给出了每个环境的一般描述,然后我们尝试在一些具体要求上比较了它们的优缺点。最后,我们在不同的任务上进行了计算性能的指示性数值分析,这也可以作为一个比较和讨论的主题。

6.1 MATLAB

该编程语言是直观的,并且该软件也提供了完整的软件包——让用户可以无需编写任何特定的代就能定义和训练几乎所有类型的人工神经网络架构。其代码并行化(code parallelization)是自动完成的,而且与 CUDA 的集成也很直接。其可用的内置函数是高度可自定义和可优化的,从而提供了快速的和可扩展的实验设置方式,让你可以轻松获取网络的变量以进行深度分析。但是,扩展和集成 Matlab 工具需要对于该环境的高阶知识。这可能会驱使用户开始从头编写其代码,导致计算表现的普遍衰减。这些功能让其成为了一个完美的统计和分析工具箱,但是作为开发环境来说还是慢了一点。其 GUI 需要一些重量级的计算,但另一方面,这对用户很友好,而且还提供了最好的图形数据可视化。MATLAB 的文档很完整,在官网上也组织得非常好。

6.2 Torch

Torch 的编程语言(Lua)有时候有一点难,但它应该比这些语言中其它一些要快一点。其提供了所有所需的 CUDA 集成和 CPU 并行自动化。其基于模块的结构允许灵活的 ANN 架构,而且扩展其提供的软件包也相对容易。而且其还有其它强大的软件包,但一般而言它们需要一定的专业知识才能实现有意识的操作。Torch 可被轻松用于特定和一般算法测试的原型设计环境。其文档遍布于整个 Torch 的 GitHub 库,有时候不能立即解决一些特定的问题。

6.3 Tensor Flow

其使用了非常动态的语言 Python,让用户可以轻松地编写脚本。其 CPU 并行化是自动的,而且其使用了计算图结构,可以轻松利用 GPU 计算。其提供了很好的数据可视化,并且让初学者也可以轻松地获取已经准备好的软件包,直播,尽管本文并没有涉及到这方面。其符号计算(symbolic computation)的力量仅在前向步骤中涉及到用户,而其反向步骤完全是由 TensorFlow 环境导出的。这样的灵活性让任何知识水平的用户都可以非常快速地进行开发。

6.4 整体比较情况概览

就像之前说过的,我们尝试在表 1 中总结出全局对比,根据不同的视角进行 1-5 的评分。下面介绍了主要的对比指标:

编程语言:它们所有的基本语言都非常直观

GPU 集成:Matlab 因为需要额外的工具包而得分较低

CPU 并行化:所有的环境都可利用尽可能多的核(core)

函数可定制性:Matlab 得分较低,因为要将良好优化的函数与已有的函数整合起来很困难

符号运算:Lua 不支持

网络结构可定制性:每种网络都是可能的

数据可视化:交互式的 Matlab 优于其它

安装:所有都相当简单,但 Matlab 的交互式 GUI 是个加分项

操作系统兼容性:Torch 在 Windows 上不容易安装

语言性能:Matlab 接口有时候很沉重

开发灵活性:同样,Matlab 得分低,因为其会迫使中等用户精通其语言,才能有能力整合已有的工具或编写出合适的代码,一般来说,这会拖慢软件开发速度。

  

码报:【j2开奖】初学者怎么选择神经网络环境?对比MATLAB、Torch和TensorFlow

表 1:三种环境的各项得分

6.5 计算问题

在表 2 中,我们比较了不同任务的运行时间,分析了 CPU 和 GPU 计算的优点和不同之处。结果是 5 次实验的平均得分,而且实验都是在同一台计算机上完成的,该计算机的配置是:32 核的英特尔 Xeon CPU E5-2650 v2 @ 2.60GHz、66 GB RAM、4 GB 内存的 Geforce GTX 960。操作系统是 Debian GNU/Linux 8 (jessie)。我们在不同的网络框架、批大小(包括随机梯度下降(SGD)、1000 样本批和完全批(Full Bacth))和硬件(在 HW 列说明)上测试了标准的梯度下降流程。这里用到的 CNN 架构和图 8 中给出的一样。结果是通过尝试使用尽可能相似的优化流程而得到的。在实际中,我们很难在 Matlab 内置的工具箱中应用特定的优化技术。我们为 Torch 的第二个架构(第 8 行)跳过了 SGD 的案例,因为其第一个架构获得了大量的计算时间。我们也跳过了使用 GPU 的 Matlab 在 ANN 上的 SGD,因为其训练函数不支持 GPU 计算(第 4 和 10 行)。实际上,这可能是一个不常见的研究案例,但为了最好的完整性,我们还是报告其结果。我们跳过了在 GPU 上的 CNN Full Batch 的实验,因为其内存需求实在太高了。

  

码报:【j2开奖】初学者怎么选择神经网络环境?对比MATLAB、Torch和TensorFlow

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容