def evaluate_age_mobilenet_v1_imdb_wiki(): validation_size = 1000 data = get_imdb_wiki_dataset() addrs = data["addrs"][:validation_size] age_labels = data["age_labels"][:validation_size] gender_labels = data["gender_labels"][:validation_size] num_classes = 101 batch_size = 64 imp = task_importance_weights(age_labels, num_classes) plt.figure("Weight importance") plt.plot(imp) plt.show() checkpoint_path = os.path.join(ROOT_DIR, "outputs", "checkpoints", "age_mobilenet_v1_imdb_wiki", "ckpt.h5") # Building Mobilenet val_generator = DataGenerator(addrs[:validation_size], age_labels[:validation_size], batch_size, num_classes) # steps_per_epoch = val_generator.n // val_generator.batch_size loss = coral_loss(imp) model = keras.models.load_model( checkpoint_path, custom_objects={ "loss": loss, "mae_pred": mae_pred, "Linear_1_bias": Linear_1_bias }, ) pred = model.predict_generator(generator=val_generator) pred = pred > 0.5 y_pred = np.sum(pred, axis=1) mae = np.mean(np.abs(age_labels - y_pred)) print("mae: {}".format(mae)) # print(list(zip(model.metrics_names, score))) plot(validation_size, batch_size, addrs, gender_labels, age_labels, y_pred)
# Custom variables ################################################################################ num_classes = 101 batch_size = 64 validation_size = 1000 input_shape = (224, 224, 3) app_id = "age_mobilenet_v1_audience" ################################################################################ # Create dataset generator ################################################################################ data = get_audience_dataset() addrs = data["addrs"] age_labels = data["age_labels"] imp = task_importance_weights(age_labels, num_classes) train_generator = DataGenerator(addrs[validation_size:], age_labels[validation_size:], batch_size, num_classes) val_generator = DataGenerator(addrs[:validation_size], age_labels[:validation_size], batch_size, num_classes) steps_per_epoch = train_generator.n // train_generator.batch_size ################################################################################ # Create and load mobilenet ################################################################################ model = keras.applications.mobilenet.MobileNet(input_shape=input_shape, weights=None, include_top=False)