私は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によって生成されたクラスファイル、点検:私は最終的に注釈@Slf4j
に気づき、import文をトレース
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
は、ギッターに非常に活発なのdevのコミュニティがDL4Jのためにあります:https://gitter.im/deeplearning4j/deeplearning4j – tremstat
'@ Slf4j'注釈を見てみましょう - https://projectlombok.org/ api/lombok/extern/slf4j/Slf4j.html –