from random import shuffle
def train_gensim(i, model):
alpha, min_alpha, passes = (0.025, 0.0001, 40)
alpha_delta = (alpha - min_alpha) / passes
for epoch in range(passes):
start = time.time()
shuffle(doc_list_twt)
print("Random shuffle time %s" % (time.time() - start))
model.alpha, model.min_alpha = alpha, alpha # fix the learning rate, no decay
print('Now training epoch {0}, alpha = {1}'.format(epoch, model.alpha) )
model.train(doc_list_twt)
alpha -= alpha_delta # decrease the learning rate
print("Epoch TIME %s" % (time.time() - start))
return model
train_gensim(0, models[0]).save("modelfile.doc2vec")