numDocs, numSamples, numTopicsPerDoc); Path sampleCorpusPath = getTestTempDirPath("corpus"); Configuration configuration = getConfiguration(); MatrixUtils.write(sampleCorpusPath, configuration, sampledCorpus); int numIterations = 5; int numTestTopics = startTopic; while (numTestTopics < numGeneratingTopics + 2) { Path topicModelStateTempPath = getTestTempDirPath("topicTemp" + numTestTopics); Configuration conf = getConfiguration(); CVB0Driver cvb0Driver = new CVB0Driver(); cvb0Driver.run(conf, sampleCorpusPath, null, numTestTopics, numTerms, ALPHA, ETA, numIterations, 1, 0, null, null, topicModelStateTempPath, 1234, 0.2f, 2, 1, 3, 1, false); perplexities.add(lowestPerplexity(conf, topicModelStateTempPath)); numTestTopics++; assertEquals("The optimal number of topics is not that of the generating distribution", 4, bestTopic); System.out.println("Perplexities: " + Joiner.on(", ").join(perplexities));