对于我的研究生研究,我正在创建一个训练识别图像的神经网络。就像许多示例一样,我要复杂得多,而不仅仅是获取RGB值的网格,进行下采样并将其发送到网络的输入。实际上,我使用了100多个经过独立训练的神经网络来检测特征,例如线条,阴影图案等。更像是人眼,到目前为止,它的确运行良好!问题是我有很多训练数据。我向它展示了超过100个汽车外观的示例。然后是一个人的100个例子。然后有超过100条狗的样子,等等。这是很多训练数据!目前,我大约要花一个星期的时间来训练网络。这是一种阻碍我进步的事情,因为我需要进行调整和再培训。
我正在使用Neuroph作为底层神经网络API。我正在运行双四核计算机(具有超线程的16核),因此该速度应该很快。我的处理器百分比仅为5%。在Neuroph性能方面有什么技巧吗?还是Java性能一般?有什么建议吗?我是一名认知心理学博士学位的学生,并且我是一名程序员,很体面,但是对性能编程的了解并不多。
最佳答案
是的,几个月前,我沿着那条路走了。也用于大学项目。第一个问题是Neuroph。它致命的缓慢。 Neuroph非常了解主要的体系结构和性能问题,上周有关代码项目的文章只有一篇。
http://www.codeproject.com/KB/recipes/benchmark-neuroph-encog.aspx
我遵循与本文作者相似的路径。从Neuroph切换到Encog确实很容易。以上文章的作者甚至还比较了Encog,JOONE和Neuroph的语法,因此您可以进行比较。有关Encog的更多信息,
http://www.heatonresearch.com/encog
Encog也将更多地利用您的核心。只需查看以上文章中的图表即可。
祝你好运!您的研究听起来真的很棒,我很乐意看到结果。
关于java - 帮助Neuroph神经网络,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2984459/