我有兴趣在我的c++程序中实现卷积神经网络,在那里我跟踪标记的昆虫(我也使用OpenCV)。我看到人们经常提到Caffe、Torch和Theano,但我没有听到有人讨论过SHOGUN工具箱中的CNN。这个CNN工作得好吗?如果你在用c++工作,有人会推荐它吗?我通过scikit-neuralnetwork在Python中使用Theano来测试一些图像,并且工作得非常好,只是不幸的是Theano仅支持Python。
Shogun也有GPU支持一些在NN代码中使用的操作。不过这项工作还在进行中。在这个时间点上,其他库可能更快。我们主要是在那里建立这些网络,以便能够轻松地将它们与工具箱中的其他算法进行比较。
然而,它的优点是你可以从大量的语言中使用它(而在内部,c++代码被执行)——如果你不想使用python,这很有用。这里有一些ippython笔记本,你可以用它们作为比较的基础:
- 用于去噪和分类的自动编码器
- 数字分类(卷积)网络
我们感谢分享任何经验。幕府将军一直在不断发展,尤其是神经网络吸引了很多人来研究它们,所以期待事情发生变化。如果你有兴趣帮助将军显卡,请告诉我们。
区别在于速度。cnn的计算成本很高,因此GPU的实现速度至少比CPU快10倍。caffe和theano提供了调用CPU或GPU的无缝集成,如果没有太多GPU编程经验,这对您来说可能不容易实现。
其他因素也可能存在,包括多人游戏的统一界面,随机梯度下降等,但我认为在所有这些因素中,速度问题是最重要的。