#dataset.apply(partial(normalize_pressure_value, max_pressure_val=512)) dataset.apply(partial(spline_interpolate_and_resample, num_samples=NUM_SAMPLES)) dataset.expand_many(partial(rotate_digit, degrees=[5, 10, 15, 45, -5, -10, -15, -45])) dataset.expand(reverse_digit_sequence) # dataset.apply(lambda digit: convert_xy_to_derivative(digit, normalize=False)) #dataset.apply(partial(convert_xy_to_derivative, normalize=True)) #%% Split Train, Valid, Test # Imports import numpy as np from sklearn.model_selection import train_test_split X_train_valid = np.array(dataset.train_data) X_test = np.array(dataset.test_data) # Convert labels to numpy array and OneHot encode them encoder, train_valid_labels, _, Y_test = dataset.onehot_encode_labels() train_valid_labels = train_valid_labels.astype('float32').todense() Y_test = Y_test.astype('float32').todense() # Split Data X_train, X_valid, Y_train, Y_valid = train_test_split(X_train_valid, train_valid_labels, shuffle=True, stratify=train_valid_labels, random_state=42) #X_train, X_valid, Y_train, Y_valid = train_test_split(X_train_valid, Y_train_valid, shuffle=True, stratify=Y_train_valid, random_state=42) #%% Model Training from models.naive_gru import NaiveGRU mymodel = NaiveGRU(X_train.shape[1:]) mymodel.batch_size = PARAM_BATCH_SIZE mymodel.num_epochs = PARAM_NUM_EPOCHS mymodel.initialize() print(mymodel)
dataset.expand_many(partial(rotate_digit, degrees=ANGLES_TO_ROTATE)) dataset.expand(reverse_digit_sequence) print("Training Data Len:", len(dataset.train_data)) print("Validation Data Len:", len(dataset.valid_data)) print("Test Data Len:", len(dataset.test_data)) #%% import numpy as np X_train = np.array(dataset.train_data) X_valid = np.array(dataset.valid_data) X_test = np.array(dataset.test_data) # Convert labels to numpy array and OneHot encode them encoder, Y_train, Y_valid, Y_test = dataset.onehot_encode_labels() print("Training Data Shape:", X_train.shape) print("Training Labels Shape:", Y_train.shape) print("Validation Data Shape:", X_valid.shape) print("Validation Labels Shape:", Y_valid.shape) print("Test Data Shape:", X_test.shape) print("Test Labels Shape:", Y_test.shape) #%% PARAM_NUM_EPOCHS = 70 PARAM_BATCH_SIZE = 500 from models.regularized_3x512_gru import Regularized3x512GRU import os.path