{ "model_type": "cnn", "input_shape": [152, 152, 3], "conv_layers": [ { "filters": 32, "kernel_size": [3, 3], "activation": "relu", "pool_size": [2, 2] }, { "filters": 64, "kernel_size": [3, 3], "activation": "relu", "pool_size": [2, 2] }, { "filters": 128, "kernel_size": [3, 3], "activation": "relu", "pool_size": [2, 2] } ], "dense_layers": [ { "units": 64, "activation": "relu" } ], "output_layer": { "units": 69216, "activation": "sigmoid" }, "reshape_layer": { "target_shape": [152, 152, 3] }, "compile": { "optimizer": "adam", "loss": "mean_squared_error" }, "data_augmentation": { "rescale": 1.0, "horizontal_flip": true, "rotation_range": 20, "zoom_range": 0.2, "shear_range": 0.2, "brightness_range": [0.8, 1.2] }, "training": { "batch_size": 10, "target_size": [152, 152], "epochs": 50, "steps_per_epoch": "auto", "validation_steps": "auto" }, "save_path": "cnn_similarity_model.keras", "similarity_metric": "euclidean" }