【发布时间】:2015-04-03 11:55:33
【问题描述】:
Encog 支持多线程。但据我了解,最好在一个处理器上并行处理,例如 8 个内核。如果我购买带有 4 个插槽的 motherboard 并在那里安装四个 Intel Xeon E5-4600,它会更快地工作吗?有没有人尝试过类似的东西?请仅在您真正知道或真正尝试过的情况下回答。
【问题讨论】:
标签: c# multithreading neural-network encog
Encog 支持多线程。但据我了解,最好在一个处理器上并行处理,例如 8 个内核。如果我购买带有 4 个插槽的 motherboard 并在那里安装四个 Intel Xeon E5-4600,它会更快地工作吗?有没有人尝试过类似的东西?请仅在您真正知道或真正尝试过的情况下回答。
【问题讨论】:
标签: c# multithreading neural-network encog
我认为这个问题很大程度上取决于您使用的是哪个版本的 Encog(Java 或 .NET 或 C++),以及您自己的代码是如何编写的。
如您所见,.NET 版本的 Encog actively using 有它自己的IMultiThreadable 接口,并且有一个lot of classes 使用Parallel 类进行学习。
对于 Java,接口的名称是 MultiThreadable。 C++版本没有接口,但代码仍然使用object.c文件中的threadCount参数。如我所见,Javascript version 没有在javascript 中使用任何多线程支持(即使它具有多线程支持也不能说)。
所以我可以肯定地说,是的,如果您使用正确的类,它会在机器上可用的更多内核的情况下更快地工作(因为它使用可以获得硬件优势的内核类)示例(在C#):
更多关于 Encog 上的多线程应用可以在这里找到:
Applying Multithreading to Resilient Propagation and Backpropagation
【讨论】: