Deeplearning4J медленный на Word2Vec

Я хочу попробовать word2vec с этой конфигурацией:

compile "org.deeplearning4j:deeplearning4j-core:1.0.0-beta2"
compile "org.nd4j:nd4j-native-platform:1.0.0-beta2"
//compile "org.nd4j:nd4j-cuda-9.2-platform:1.0.0-beta2"
compile group: 'org.deeplearning4j', name: 'deeplearning4j-nlp', version: '1.0.0-beta2'
compile group: 'org.deeplearning4j', name: 'deeplearning4j-ui_2.11', version: '1.0.0-beta2'

    SentenceIterator iter = new BasicLineIterator(new File("E:/temp/text_1.txt"));
    TokenizerFactory t = new DefaultTokenizerFactory();

    t.setTokenPreProcessor(new CommonPreprocessor());

    Word2Vec vec = new Word2Vec.Builder()
            .minWordFrequency(20)
            .iterations(1)
            .layerSize(150)
            .seed(42)
            .windowSize(5)
            .iterate(iter)
            .tokenizerFactory(t)
            .allowParallelTokenization(true)
            .batchSize(1000)
            .workers(8)
            .elementsLearningAlgorithm(new SkipGram<>())
            .build();
    vec.fit();

Файл с предложениями составляет около 15 ГБ и имеет одно предложение в строке.

22:33:07.116 [main] INFO  o.d.m.w.wordstore.VocabConstructor - Sequences checked: [200000]; Current vocabulary size: [48699]; Sequences/sec: 8298,07; Words/sec: 69217,82;

Как я могу настроить его так, чтобы он не был таким медленным? Потребовалось более 24 часов, чтобы просто построить вокаб.

Вот некоторые строки из текстового файла, который я хочу обработать:

Джеден Абенд Зихт Сьен ден Шаттен Ам Фенстер

Данн Вайн Эйзигер Хауч Инс Циммер

der unheimliche besucher laesst sich nicht abwehren

Бей Сейнм Эрблик Эрстартр

Дэн Си Канн Нихт Беграйфен Дасс Плоецхих дер Манн Вор Ихр Стехт Ден Си Вор Вилен Джарен Беграбен

dem unheimlichen besucher eine falle zu stellen

0 ответов

Другие вопросы по тегам