def load_and_process_fmnist_data(): # Make sure that fashion-mnist/*.gz files is in data/ train_x, train_y, val_x, val_y, test_x, test_y = get_mnist_data() num_train = train_x.shape[0] num_val = val_x.shape[0] num_test = test_x.shape[0] # Convert label lists to one-hot (one-of-k) encoding train_y = create_one_hot(train_y) val_y = create_one_hot(val_y) test_y = create_one_hot(test_y) # Normalize our data train_x, val_x, test_x = normalize(train_x, val_x, test_x) # Pad 1 as the last feature of train_x and test_x train_x = add_one(train_x) val_x = add_one(val_x) test_x = add_one(test_x) return train_x, train_y, val_x, val_y, test_x, test_y
num_train = train_x.shape[0] num_val = val_x.shape[0] num_test = test_x.shape[0] # generate_unit_testcase(train_x.copy(), train_y.copy()) # Convert label lists to one-hot (one-of-k) encoding train_y = create_one_hot(train_y) val_y = create_one_hot(val_y) test_y = create_one_hot(test_y) # Normalize our data train_x, val_x, test_x = normalize(train_x, val_x, test_x) # Pad 1 as the last feature of train_x and test_x train_x = add_one(train_x) val_x = add_one(val_x) test_x = add_one(test_x) # Create classifier num_feature = train_x.shape[1] dec_classifier = SoftmaxClassifier((num_feature, 10)) momentum = np.zeros_like(dec_classifier.w) # Define hyper-parameters and train-related parameters num_epoch = 10000 learning_rate = 0.01 momentum_rate = 0.9 epochs_to_draw = 100 all_train_loss = [] all_val_loss = []