train_data = np.load(open('bottleneck_features_train.npy')) # the features were saved in order, so recreating the labels is easy train_labels = np.array([0] * 1000 + [1] * 1000) validation_data = np.load(open('bottleneck_features_validation.npy')) validation_labels = np.array([0] * 400 + [1] * 400) model = Sequential() model.add(Flatten(input_shape=train_data.shape[1:])) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy']) model.fit(train_data, train_labels, epochs=50, batch_size=batch_size, validation_data=(validation_data, validation_labels)) model.save_weights('bottleneck_fc_model.h5')