| { | |
| "model_type": "cnn", | |
| "architecture": { | |
| "type": "sequential", | |
| "layers": [ | |
| { | |
| "type": "data_augmentation" | |
| }, | |
| { | |
| "type": "conv2d", | |
| "filters": 32, | |
| "kernel_size": 3, | |
| "activation": "relu" | |
| }, | |
| { | |
| "type": "batch_normalization" | |
| }, | |
| { | |
| "type": "max_pooling2d", | |
| "pool_size": 2 | |
| }, | |
| { | |
| "type": "conv2d", | |
| "filters": 64, | |
| "kernel_size": 3, | |
| "activation": "relu" | |
| }, | |
| { | |
| "type": "batch_normalization" | |
| }, | |
| { | |
| "type": "max_pooling2d", | |
| "pool_size": 2 | |
| }, | |
| { | |
| "type": "flatten" | |
| }, | |
| { | |
| "type": "dense", | |
| "units": 256, | |
| "activation": "relu" | |
| }, | |
| { | |
| "type": "batch_normalization" | |
| }, | |
| { | |
| "type": "dropout", | |
| "rate": 0.3 | |
| }, | |
| { | |
| "type": "dense", | |
| "units": 128, | |
| "activation": "relu" | |
| }, | |
| { | |
| "type": "batch_normalization" | |
| }, | |
| { | |
| "type": "dropout", | |
| "rate": 0.2 | |
| }, | |
| { | |
| "type": "dense", | |
| "units": 10, | |
| "activation": "softmax" | |
| } | |
| ] | |
| }, | |
| "training_config": { | |
| "optimizer": { | |
| "type": "adam", | |
| "learning_rate": 0.001, | |
| "beta_1": 0.9, | |
| "beta_2": 0.999 | |
| }, | |
| "loss": "sparse_categorical_crossentropy", | |
| "metrics": [ | |
| "accuracy" | |
| ], | |
| "epochs": 20, | |
| "batch_size": 32, | |
| "validation_split": 0.2 | |
| }, | |
| "preprocessing": { | |
| "input_normalization": "divide_by_255", | |
| "input_shape": [ | |
| 28, | |
| 28, | |
| 1 | |
| ] | |
| } | |
| } |