当设置相同时,使用不同的深度学习实现会有性能差异吗

Will there be difference of performance using different deep learning implementations, when the settings are the same

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

换句话说,当网络本身具有相同的设置(层数、层类型)时,使用不同的实现来构建网络的性能(例如,分类任务的准确性)是否会有所不同, dropout, activations, objective 函数等) ?

非常感谢。

is any difference among these libraries when the neural network have the exact same settings?

当然可以。例如,参见 ConvNet Benchmark

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

In another word, will the performance (in terms of, say, accuracy in classification tasks) be difference using different implementations to build the network, when the network itself has the same settings (number of layers, type of layers, dropout, activations, objective functions etc.) ?

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

另见