SHOGUN Toolbox 卷积神经网络与 Caffe 和 Theano 相比如何?

How does the SHOGUN Toolbox convolutional neural network compare to Caffe and Theano?

我有兴趣在我的 C++ 程序中实现一个卷积神经网络,我正在跟踪带标签的昆虫(我也在使用 OpenCV)。我看到人们经常提到 Caffe、Torch 和 Theano,但我还没有听说过 SHOGUN 工具箱中的 CNN 被讨论过。这个 CNN 是否运行良好?如果您使用 C++,有人会推荐它吗?我在 Python 中通过 scikit-neuralnetwork 使用 Theano 来测试一些图像并且效果非常好,除了不幸的是 Theano 是 Python-only.

区别在于速度。 cnn 的计算成本很高,因此 GPU 实现至少比 CPU 快 10 倍。 caffe 和 theano 提供无缝集成调用 CPU 或 GPU,如果没有 GPU 编程经验,这可能不太容易实现。

可能存在其他因素,包括多人游戏的统一界面、随机梯度下降等,但我认为速度问题是所有这些因素中最关键的。

Shogun 也有 GPU 支持 NN 代码中使用的一些操作。不过,这项工作正在进行中。此时,其他库可能会更快。我们主要在那里构建这些网络,以便能够轻松地将它们与工具箱中的其他算法进行比较。

然而,优点是您可以在多种语言中使用它(而在内部执行 C++ 代码)——如果您不想使用它,这很有用 python。

这里有一些 IPython 笔记本,您可以将其用作比较的基础:

我们感谢分享任何经验。 Shogun 处于不断发展之中,尤其是 NN 吸引了很多人参与其中,因此请期待事情会发生变化。如果您有兴趣帮助 GPU-fying Shogun,请告诉我们。