def run(): """Builds model, loads data, trains and evaluates""" #df = dataloader.DataLoader().load_data(CFG) #print(df[2]) model = MyModel(CFG) model.load_data() model.build() metrics = pd.DataFrame(model.train()) print(metrics)
def main_leePincombeWelsh(): f = open(Configuration.get_LOG(), "a+") f.write( "\n\n......................Experiment Begin......................\n") f.write("%s\n" % t.time()) f.close() Configuration.write_configuration(logfile=Configuration.get_LOG()) data_x_a, data_x_b, data_y, embedding_matrix = generate_data_leePincombeWelsh( ) print(data_x_a.shape) print(data_x_a[1:3, :]) print(data_x_b.shape) print(data_y.shape) print(embedding_matrix.shape) print(embedding_matrix[1:3, :]) # exit() indices = np.arange(data_x_a.shape[0]) np.random.shuffle(indices) data_x_a = data_x_a[indices] data_x_b = data_x_b[indices] data_y = data_y[indices] nb_validation_samples = int(Configuration.get_VALIDATION_SPLIT() * data_x_a.shape[0]) x_a_train = data_x_a[:-nb_validation_samples] x_b_train = data_x_b[:-nb_validation_samples] y_train = data_y[:-nb_validation_samples] x_a_test = data_x_a[-nb_validation_samples:] x_b_test = data_x_b[-nb_validation_samples:] y_test = data_y[-nb_validation_samples:] # model = MyModel_New(embedding_matrix) model = MyModel(inputLenght=Configuration.get_MAX_SEQUENCE_LENGTH(), weights=embedding_matrix) model.train(data_x_a=x_a_train, data_x_b=x_b_train, data_y=y_train, batch_size=Configuration.get_BATCH_SIZE(), episode=Configuration.get_EPIDOSE()) # print(model.predict(x_a_test, x_b_test)) f = open(Configuration.get_LOG(), mode="a+") cosTrain, pearsonTrain = model.evaluate( data_x_a=x_a_train, data_x_b=x_b_train, data_y=y_train, batch_size=Configuration.get_BATCH_SIZE()) print("cosine of train data = %f, pearson of train data = %f" % (cosTrain, pearsonTrain)) f.write("cosine of prediction of train data = %f\n" % cosTrain) cosTest, pearsonTest = model.evaluate( data_x_a=x_a_test, data_x_b=x_b_test, data_y=y_test, batch_size=Configuration.get_BATCH_SIZE()) f.write("cosine of prediction of test data = %f\n" % cosTest) print("cosine of test data = %f, pearson of test data = %f" % (cosTest, pearsonTest)) f.close() f = open(Configuration.get_LOG(), mode="a+") f.write("......................Experiment End......................\n\n") f.close()