我使用过Torch,Tensorflow和sknn,发现它们的机制设计,语法,环境要求,速度方面的性能存在很大差异,但是,我想知道这些库在神经网络中是否有任何差异有完全相同的设置?
换句话说,当网络本身具有相同的设置(层数,层类型,丢失)时,使用不同的实现来构建网络时,性能(就分类任务的准确性而言)是否会有所不同,激活,目标函数等)?
非常感谢你。
答案 0 :(得分:0)
当神经网络具有完全相同的设置时,这些库之间是否存在差异?
不确定。例如,请参阅ConvNet Benchmark。
即使你计算相同的东西,如何计算东西总是存在细微差别。例如,x^4
可以计算为tmp=(x*x); tmp*tmp
或x*(x*(x*x))
。或矩阵乘法ijk vs ikj(更多信息见my article)。编译器优化也可能非常重要。
换句话说,当网络本身具有相同的设置(层数,层类型,丢失)时,使用不同的实现来构建网络时,性能(就分类任务的准确性而言)是否会有所不同,激活,目标函数等)?
这是一个与速度不同的问题。但是,由于数字问题,您可能仍会得到一些不同的结果。但是,它们不应该是重要的。