Example #1
0
X_train_divided, num_per_class = divide_by_class(X_train, y_train)
X_test_divided, num_per_class_test = divide_by_class(X_test, y_test)
X_train, X_test, y_train, y_test = None, None, None, None

# normalize inputs from 0-255 to 0-1
#Here it's a simple element-wise operation due to images in grayscale, not RGB
for classNum in range(0, 10):
    X_train_divided[classNum] = X_train_divided[classNum] / 255
    X_test_divided[classNum] = X_test_divided[classNum] / 255

input_img = Input((28, 28, 1))
#latent_vec = Input((294, 1))
encoders, decoders = [], []
autoencoders = []
for classNum in range(0, 10):
    encoders.append(encoder2())
    decoders.append(decoder2())
    encoded_repr = encoders[classNum](input_img)
    reconstructed_img = decoders[classNum](encoded_repr)
    autoencoders.append(Model(input_img, reconstructed_img))
    autoencoders[classNum].compile(loss='mean_squared_error',
                                   optimizer='RMSprop')
    #print(encoders[classNum].summary())
    #print(decoders[classNum].summary())

for classNum in range(0, 10):
    autoencoders[classNum].load_weights(weights_base_name + str(classNum) +
                                        ".hdf5")

X_train_divided_base = []
X_train_divided_left = []
Example #2
0
X_train = X_train / 255
X_test = X_test / 255

#Shape images so they fit the architecture of a CNN
X_train = X_train.reshape(X_train.shape[0], 28, 28, 1).astype('float32')
X_test = X_test.reshape(X_test.shape[0], 28, 28, 1).astype('float32')

# one hot encode outputs
#y_train = np_utils.to_categorical(y_train)
#y_test = np_utils.to_categorical(y_test)
#num_classes = len(X_train_divided)#y_test.shape[1]
input_img = Input((28, 28, 1))
#latent_vec = Input((294, 1))
encoders, decoders = [], []
autoencoders = []
encoders = encoder2()
decoders = decoder2()
encoded_repr = encoders(input_img)
reconstructed_img = decoders(encoded_repr)
autoencoders = Model(input_img, reconstructed_img)
autoencoders.compile(loss='mean_squared_error', optimizer='RMSprop')
print(encoders.summary())
print(decoders.summary())

histories = keras_callbacks.Histories()
checkpoint = ModelCheckpoint(weights_base_name + ".hdf5",
                             monitor='val_loss',
                             verbose=1,
                             save_best_only=True,
                             mode='min')
callbacks_list = [histories, checkpoint]