【问题标题】:Will there be difference of performance using different deep learning implementations, when the settings are the same当设置相同时,使用不同的深度学习实现是否会有性能差异
【发布时间】:2017-04-06 07:17:16
【问题描述】:

我使用过 Torch、Tensorflow 和 sknn,发现它们在机制设计、语法、环境要求、速度方面的性能存在很大差异,但是我想知道这些库在使用神经网络时是否有任何差异有完全相同的设置吗?

换句话说,当网络本身具有相同的设置(层数、层类型、dropout 、激活、目标函数等)?

非常感谢。

【问题讨论】:

  • 如果包括参数和超参数在内的所有网络结构都相同,则答案是否定的。在准确性或误差测量方面,您不会有任何差异。唯一的区别是计算效率取决于库的实现
  • @Feras 哇,谢谢!

标签: tensorflow deep-learning torch


【解决方案1】:

当神经网络具有完全相同的设置时,这些库之间有什么区别吗?

当然。例如,请参阅ConvNet Benchmark

即使计算相同,计算方式也总是存在细微差别。例如,x^4 可以计算为tmp=(x*x); tmp*tmpx*(x*(x*x))。或者矩阵乘法 ijk 与 ikj(更多信息请参见 my article)。编译器优化也可能非常重要。

换句话说,当网络本身具有相同的设置(层数、层类型、dropout 、激活、目标函数等)?

这是一个与速度不同的问题。但是,由于数值问题,您可能仍会得到一些不同的结果。但是,它们不应该很重要。

另见

【讨论】:

  • 感谢您的链接!除了计算效率之外,对于相同设置下的不同库,准确性是否存在差异?
  • @Jason 不客气。通常,如果人们有两个问题,他们会发布两个帖子,以避免只有一个问题得到回答。 (而且还希望有两个职位)。请对我对准确性的回答持保留态度;我实际上没有尝试过。所以我只有 99% 的把握这是正确的。
猜你喜欢
  • 1970-01-01
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多