我们正在使用Java进行一个基于神经网络的项目。我们希望在我们的数据集上测试不同的网络结构。现在我们正在评估哪个Java神经网络在性能方面是最佳的。我们正在评估Encog、Neuroph和DL4J。您能否告诉我们一些好的资源或您自己的经验?谢谢
回答:
Deeplearning4j的创建者在此:
-
Encog是由Jeff Heaton在90年代早期编写的,长时间以来一直是Java深度学习框架的标准。我认为Encog不支持分布式计算、与GPU、Hadoop、Spark或Kafka的集成,也不考虑自2006年以来深度学习领域的许多算法进步。(Jeff,如果我错了,请纠正我!)
-
Deeplearning4j可以做所有这些事情。它可以在分布式的CPU或GPU上运行,使用Spark作为访问层。它在CDH5上获得认证,很快将在HDP上获得认证……并且它包括了LSTM(RNN)、深度卷积网络、RBM、DBN和word2vec等神经网络的实现。它目前是JVM上最受欢迎的深度学习工具,也是全球前五的深度学习库之一。
-
Deeplearning4j由数值计算库ND4J驱动,即Java的n维数组。基本上,我们将Numpy移植到了JVM上。这使得DL4J具有可扩展性,您将看到我们在不久的将来添加其他算法,如强化学习。ND4J反过来运行在libND4J上,这是一个使计算速度加快的C++库。我们还构建了向量化库Canova,它可以将任何类型的数据转换为神经网络可以理解的向量。我们正在尝试解决神经网络上游的一些ETL问题。
-
Neuroph具有强大的可视化功能,但我无法评价他们框架的其他部分,所以我会让他们自己来说明!
https://github.com/deeplearning4j
在Gitter的Deeplearning4j用户支持频道中几乎有2000名开发者。如果您有问题,请加入我们: