ben (önceden eğitilmiş vektörler dosya yükleme) DL4J aşağıdaki örnek yürütmek için çalıştı file Google Haberler-vektörler süper yavaş:DL4J
File gModel = new File("./GoogleNews-vectors-negative300.bin.gz");
Word2Vec vec = WordVectorSerializer.loadGoogleModel(gModel, true);
InputStreamReader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
for (; ;) {
System.out.print("Word: ");
String word = br.readLine();
if ("EXIT".equals(word)) break;
Collection<String> lst = vec.wordsNearest(word, 20);
System.out.println(word + " -> " + lst);
}
Ama süper yavaş (alma ~ 10 dakika hesaplamak için en yakın kelimeler, doğru olsalar da).
Yeterli miktarda bellek var (-Xms20g -Xmx20g
). Ben https://code.google.com/p/word2vec/
aynı Word2Vec örneği çalıştırdığınızda
çok çabuk yakın kelimeleri verir. Benim koduyla yanlış bir şey http://nd4j.org/benchmarking
var mı:
DL4J Numpy olarak iki kat daha hızlı olduğunu iddia hangi ND4J kullanır?
GÜNCELLEME: Bu, https://github.com/deeplearning4j/dl4j-0.4-examples.git tabanlı (herhangi bir bağımlılığa dokunmadım, sadece Google önceden eğitilen vektörler dosyasını okumaya çalıştım) temel alıyor. Word2VecRawTextExample yalnızca iyi çalışıyor (ancak veri boyutu nispeten küçüktür). performansını artırmak amacıyla