2015-10-05 90 views
1

在使用DeepLearning4j进行编程时,出现了一些问题。DeepLearning4j的编译错误示例

当我在Eclipse中打开并编译示例MnistMultiThreadedExample时,出现了这些问题。

import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; 
import org.deeplearning4j.datasets.test.TestDataSetIterator; 
import org.deeplearning4j.iterativereduce.actor.multilayer.ActorNetworkRunner;**(error)** 
import org.deeplearning4j.models.classifiers.dbn.DBN;**(error)** 
import org.deeplearning4j.nn.conf.NeuralNetConfiguration; 
import org.deeplearning4j.scaleout.conf.Conf;**(error)** 

这是说这些软件包不在目标包中。我无法在包中找到这些模块,并且无法在Maven Center Repository中找到它,而在源代码中找不到该类。

现在我想知道如何获得这些模块,以及在创建可以在Spark上运行的AutoEncoder之前应该如何操作。

的示例代码如下所示:

import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator; 
import org.deeplearning4j.datasets.test.TestDataSetIterator; 
import org.deeplearning4j.iterativereduce.actor.multilayer.ActorNetworkRunner; 
import org.deeplearning4j.models.classifiers.dbn.DBN; 
import org.deeplearning4j.nn.conf.NeuralNetConfiguration; 
import org.deeplearning4j.scaleout.conf.Conf; 

public class MnistMultiThreadedExample { 
    public static void main(String[] args) throws Exception { 
     //5 batches of 100: 20 each 
     MnistDataSetIterator mnist = new MnistDataSetIterator(20, 60000); 
     TestDataSetIterator iter = new TestDataSetIterator(mnist); 
     ActorNetworkRunner runner = new ActorNetworkRunner(iter); 


     NeuralNetConfiguration conf2 = new NeuralNetConfiguration.Builder() 
      .nIn(784).nOut(10).build(); 

     Conf conf = new Conf(); 
     conf.setConf(conf2); 
     conf.getConf().setFinetuneEpochs(1000); 
     conf.setLayerSizes(new int[]{500,250,100}); 
     conf.setMultiLayerClazz(DBN.class); 
     conf.getConf().setnOut(10); 
     conf.getConf().setFinetuneLearningRate(0.0001f); 
     conf.getConf().setnIn(784); 
     conf.getConf().setL2(0.001f); 
     conf.getConf().setMomentum(0.5f); 
     conf.setSplit(10); 
     conf.getConf().setUseRegularization(false); 
     conf.setDeepLearningParams(new Object[]{1,0.0001,1000}); 
     runner.setup(conf); 

     runner.train(); 

    } 

} 
+0

嗨伙计们 - 感谢您澄清关于Deeplearning4j。如果您有其他问题,欢迎您加入我们的Gitter:https://gitter.im/deeplearning4j/deeplearning4j – tremstat

回答

1

您应该添加以下依赖你的POM:

<dependency> 
    <groupId>org.deeplearning4j</groupId> 
    <artifactId>deeplearning4j-scaleout-akka</artifactId> 
    <version>0.0.3.3</version> 
</dependency> 

这将增加作为传递依赖deeplearning4j-scaleout-apideeplearning4j-core。这三个依赖关系将为您提供您缺少的输入。

+0

感谢您的回答。我下载了0.3.2版本和0.3.3版本以及0.3.4版本的软件包。我通过版本导入他们,但问题仍然存在。我无法解决这个问题......顺便说一句,我得到名为“dl4j-spark”的lib,它可以帮助我解决其他问题。 :) – suanec

+0

@ suanec你是什么意思你下载他们?你手动做了吗?你添加的依赖项是我的答案在你的POM和Eclipse中你做“Maven>更新项目”? – Tunaki

+0

我手动从“https://oss.sonatype.org/content/repositories/snapshots/org/deeplearning4j/”下载了它。我创建了一个通用的scala项目,而不是Maven项目,所以它没有POM,我不能更新项目,而我只是自己做...我是一个学生,项目很简单,所以我打包它只是在eclipse中使用EXPORT。 – suanec