with open(os.path.join(options.output, options.params), 'wb') as paramsfp: pickle.dump( (words, w2i, c2i, m2i, t2i, morph_dict, pos, rels, options), paramsfp) #print 'Initializing joint model' parser = learner.jPosDepLearner(words, pos, rels, w2i, c2i, m2i, t2i, morph_dict, options) if options.pipeline and options.morphFlag and not pretrained_flag: for epoch in range(5): print('\n-----------------\nStarting Morph2Vec epoch', epoch + 1) parser.Train_Morph() parser.initialize() for epoch in range(options.epochs): print('\n-----------------\nStarting epoch', epoch + 1) if epoch % 10 == 0: if epoch == 0: parser.trainer.restart(learning_rate=0.001) elif epoch == 10: parser.trainer.restart(learning_rate=0.0005) else: parser.trainer.restart(learning_rate=0.00025) parser.Train(options.conll_train)