2017-05-12 44 views
1

我试图提出一个补丁deeplearning4j,但首先我需要能够建立该项目。我可以使用手动指令从maven构建它,但IntelliJ(2016.3.6)发现错误,并且当我查看源代码时,我不会责怪它。日志在哪里申报?

我特别难过的源文件是https://github.com/deeplearning4j/deeplearning4j/blob/master/deeplearning4j-nlp-parent/deeplearning4j-nlp/src/main/java/org/deeplearning4j/models/word2vec/StaticWord2Vec.java,它有一对变量log的夫妇引用,它没有在此文件中声明。

package org.deeplearning4j.models.word2vec; 

import lombok.extern.slf4j.Slf4j; 
import org.deeplearning4j.models.embeddings.WeightLookupTable; 
import org.deeplearning4j.models.embeddings.reader.ModelUtils; 
import org.deeplearning4j.models.embeddings.wordvectors.WordVectors; 
import org.deeplearning4j.models.word2vec.wordstore.VocabCache; 
import org.nd4j.linalg.api.ndarray.INDArray; 
import org.nd4j.linalg.compression.AbstractStorage; 
import org.nd4j.linalg.factory.Nd4j; 
import org.nd4j.linalg.ops.transforms.Transforms; 

import java.util.ArrayList; 
import java.util.Collection; 
import java.util.List; 
import java.util.Map; 
import java.util.concurrent.ConcurrentHashMap; 

/** 
* This is special limited Word2Vec implementation, suited for serving as lookup table in concurrent multi-gpu environment 
* This implementation DOES NOT load all vectors onto any of gpus, instead of that it holds vectors in, optionally, compressed state in host memory. 
* This implementation DOES NOT provide some of original Word2Vec methods, such as wordsNearest or wordsNearestSum. 
* 
* @author [email protected] 
*/ 
@Slf4j 
public class StaticWord2Vec implements WordVectors { 
    private List<Map<Integer, INDArray>> cacheWrtDevice = new ArrayList<>(); 
    private AbstractStorage<Integer> storage; 
    private long cachePerDevice = 0L; 
    private VocabCache<VocabWord> vocabCache; 
    private String unk = null; 
... snipped 

该类扩展了接口,但没有明确扩展父类。检查使用javap的Maven的生成的类文件,我看到:

Compiled from "StaticWord2Vec.java" 
public class org.deeplearning4j.models.word2vec.StaticWord2Vec 
implements org.deeplearning4j.models.embeddings.wordvectors.WordVectors { 
private static final org.slf4j.Logger log; 
... snipped 
+0

对于所有未来的问题,在Gitter for DL4J上都有一个非常活跃的开发社区:https://gitter.im/deearningarning4j/deeplearning4j – tremstat

+0

看一看'@ Slf4j'注释 - https://projectlombok.org/ api/lombok/extern/slf4j/Slf4j.html –

回答

2

我终于注意到了注释@Slf4j和跟踪import语句,发现我需要的Lombok plugin增加的IntelliJ是能够建立这个项目。

+0

另请参阅https://projectlombok.org/ –