private void initializeModel() {
    TopicModel topicModel =
        new TopicModel(
            numTopics,
            numTerms,
            eta,
            alpha,
            RandomUtils.getRandom(),
            terms,
            numUpdatingThreads,
            initialModelCorpusFraction == 0 ? 1 : initialModelCorpusFraction * totalCorpusWeight);
    topicModel.setConf(getConf());

    TopicModel updatedModel =
        initialModelCorpusFraction == 0
            ? new TopicModel(numTopics, numTerms, eta, alpha, null, terms, numUpdatingThreads, 1)
            : topicModel;
    updatedModel.setConf(getConf());
    docTopicCounts = new DenseMatrix(numDocuments, numTopics);
    docTopicCounts.assign(1.0 / numTopics);
    modelTrainer =
        new ModelTrainer(topicModel, updatedModel, numTrainingThreads, numTopics, numTerms);
  }