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])
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])