2015-10-05 79 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