Пример #1
0
    total_steps, warmup_steps = calc_train_steps(
        num_example=len(train_data),
        batch_size=batch_size,
        epochs=epochs,
        warmup_proportion=0.1,
    )

    model, test_model = Graph(total_steps,
                              warmup_steps,
                              lr=learning_rate,
                              min_lr=min_learning_rate)

    if is_test:
        test_model.load_weights('output/subject_model.weights')
        model.load_weights('output/subject_model.weights')
        test(test_data, class2id, test_model)
        # acc = dev(dev_data, class2id, test_model)
        # print('acc: ', acc)
    else:
        # test_model.load_weights('output/subject_model.weights')
        # model.load_weights('output/subject_model.weights')

        evaluator = Evaluate(dev_data, model, test_model, class2id)
        X = data_generator(train_data, batch_size)
        steps = int((len(train_data) + batch_size - 1) / batch_size)

        model.fit_generator(X,
                            steps_per_epoch=100,
                            epochs=epochs,
                            callbacks=[evaluator])
Пример #2
0
    batch_size = 16
    learning_rate = 1e-3
    min_learning_rate = 1e-5
    epochs = 100
    is_test = False

    train_data, val_data, test_data, id2class, class2id = read_data()

    total_steps, warmup_steps = calc_train_steps(num_example=len(train_data),
                                                 batch_size=batch_size,
                                                 epochs=epochs,
                                                 warmup_proportion=0.1)

    model, test_model = Graph(total_steps,
                              warmup_steps,
                              lr=learning_rate,
                              min_lr=min_learning_rate)

    if is_test:
        test_model.load_weights('models/subject_model.weights')
        model.load_weights('models/subject_model.weights')
        test(test_data, class2id, test_model)
    else:
        evaluator = Evaluate(val_data, model, test_model, class2id)
        X = data_generator(train_data, batch_size)
        steps = int((len(train_data) + batch_size - 1) / batch_size)
        model.fit_generator(X,
                            steps_per_epoch=100,
                            epochs=epochs,
                            callbacks=[evaluator])