stratify=labels, random_state=42) # # Account for skew in the labeled data # from sklearn.utils import class_weight # class_weights = class_weight.compute_sample_weight('balanced', np.unique(train_y), train_y) # # class_totals = labels.sum(axis=0) # # class_weights = class_totals.max() / class_totals # # class_weights = dict(enumerate(class_weights)) # print("class_weight: ", class_weights) # class_weight_dict = dict(enumerate(np.unique(y_train), class_weights)) # print("class_weight: ", class_weight_dict) # Initialize the model print("[INFO]: Compiling model....") model = LeNet.build(width=28, height=28, depth=1, classes=2) model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"]) # Train the network print("[INFO]: Training....") H = model.fit( train_x, train_y, validation_data=(test_x, test_y), # class_weight=class_weight, batch_size=64, epochs=15, verbose=1)
from utilities.nn.cnn import LeNet from keras.utils import plot_model # Initialize LeNet and then write the network architecture visualization grpah to disk model = LeNet.build(28, 28, 1, 10) plot_model(model, to_file="output/lenet_architecture.png", show_shapes=True)