|
{ |
|
"model_type": "CNN", |
|
"input_shape": [150, 150, 3], |
|
"num_classes": 4, |
|
"layers": [ |
|
{ |
|
"type": "Conv2D", |
|
"filters": 32, |
|
"kernel_size": [3, 3], |
|
"activation": "relu" |
|
}, |
|
{ |
|
"type": "Conv2D", |
|
"filters": 64, |
|
"kernel_size": [3, 3], |
|
"activation": "relu" |
|
}, |
|
{ |
|
"type": "MaxPooling2D", |
|
"pool_size": [2, 2] |
|
}, |
|
{ |
|
"type": "Dropout", |
|
"rate": 0.25 |
|
}, |
|
{ |
|
"type": "Flatten" |
|
}, |
|
{ |
|
"type": "Dense", |
|
"units": 128, |
|
"activation": "relu" |
|
}, |
|
{ |
|
"type": "Dropout", |
|
"rate": 0.5 |
|
}, |
|
{ |
|
"type": "Dense", |
|
"units": 4, |
|
"activation": "softmax" |
|
} |
|
], |
|
"compile": { |
|
"loss": "categorical_crossentropy", |
|
"optimizer": "adam", |
|
"metrics": ["accuracy"] |
|
}, |
|
"training": { |
|
"batch_size": 64, |
|
"epochs": 10, |
|
"early_stopping": { |
|
"monitor": "val_loss", |
|
"patience": 5, |
|
"restore_best_weights": true |
|
} |
|
} |
|
} |