encog-core-java主分支不再具有Encog.getInstance().getCL()方法,或者对OpenCL设备的显式访问(基于Encog 2的c.f. LeadTune’s encog-java example: BenchmarkCL).
相反,我们似乎被称为ConcurrentTrainingManager,它可以神奇地检测GPU以及CPU,尽管这一点的实现非常不清楚.
在源代码中唯一提到OpenCL的是ResilientPropagation,其中声称OpenCL设备对象是可选的构造函数参数,但事实并非如此.
有没有人知道在不更新JavaDocs的情况下是否简单地从Encog中删除了OpenCL支持?
更好的是,有没有人可以在Encog 3.x上提供OpenCL支持的机器学习的工作示例?
My attempt向ConcurrentTrainingManager提交TrainingJob失败,因为我无法弄清楚如何为我的RPROPJob设置培训策略.
解决方法:
为了回应我相应的GH issue,Jeff Heaton写道:
OpenCL is not currently supported by Encog. GPU programming is not something I am currently working on. If someone would like to contribute something in this area, that would be great. But there is already a great deal of neural network GPU work going on in TensorFlow and Deeplearning4J, I am not going to try to duplicate that myself. Additionally, GPU programming is outside of my area of expertise.
作为替代方案,我推荐Ivan Vasilev的Neural Networks,我已经使用OpenCL 2进行了验证.