Example #1
0
        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)