':key: åå§åè®­ç»æš¡å,æ ¹æ®åæ°current_iterïŒæ¯åŠç­äº0ïŒå³å®æ¯åå§åæ°æš¡å,è¿æ¯å èœœå·²ææš¡å
:key: åœåå§åæ°æš¡åæ¶,é€äºprior_fileåéªæä»¶å€,å¶äœææçåæ°éœéèŠ,äžcurrent_iterç­äº0
:key: åœå èœœå·²ææš¡åæ¶,åªéèŠdir_path, model_name, current_iterïŒäžç­äº0ïŒ, iters_num, twords_numå³å¯
:param iters_num: å¯ä»¥äžºæŽæ°åŒæèâautoâ'

def init_train_model(self, dir_path, model_name, current_iter, iters_num=None, topics_num=10, twords_num=200, alpha=(-1.0), beta=0.01, data_file='', prior_file=''):

    if (current_iter == 0):
        logging.debug('init    a    new    train    model')
        self.init_corpus_with_file(data_file)
        self.dir_path = dir_path
        self.model_name = model_name
        self.current_iter = current_iter
        self.iters_num = iters_num
        self.topics_num = topics_num
        self.K = topics_num
        self.twords_num = twords_num
        self.alpha = numpy.array([(alpha if (alpha > 0) else (50.0 / self.K)) for k in range(self.K)])
        self.beta = numpy.array([(beta if (beta > 0) else 0.01) for w in range(self.V)])
        self.Z = [[numpy.random.randint(self.K) for n in range(len(self.arts_Z[m]))] for m in range(self.M)]
    else:
        logging.debug('init    an    existed    model')
        self.dir_path = dir_path
        self.model_name = model_name
        self.current_iter = current_iter
        self.iters_num = iters_num
        self.twords_num = twords_num
        self.load_model()
    self.init_statistics()
    self.sum_alpha_beta()
    if prior_file:
        self.load_twords(prior_file)
    return self
