{
    "_model": {
        "inputs": ["image"],
        "outputs": ["metric"],

        "nodes": {
            "stem": {"operation": {"type": "_cell", "parameters": {}, "cell_name": "stem"}},
            "flatten": {"operation": {"type": "Flatten", "parameters": {}}},
            "fc1": {"operation": {"type": "Dense", "parameters": {"units": 1024, "activation": "relu"}}},
            "fc2": {"operation": {"type": "Dense", "parameters": {"units": 10}}},
            "softmax": {"operation": {"type": "Softmax", "parameters": {}}}
        },

        "edges": [
            {"head": ["_inputs", 0], "tail": ["stem", 0]},
            {"head": ["stem", 0], "tail": ["flatten", null]},
            {"head": ["flatten", null], "tail": ["fc1", null]},
            {"head": ["fc1", null], "tail": ["fc2", null]},
            {"head": ["fc2", null], "tail": ["softmax", null]},
            {"head": ["softmax", null], "tail": ["_outputs", 0]}
        ]
    },

    "stem": {
        "nodes": {
            "conv1": {"operation": {"type": "Conv2D", "parameters": {"filters": 32, "kernel_size": 5, "activation": "relu"}}},
            "pool1": {"operation": {"type": "MaxPool2D", "parameters": {"pool_size": 2}}},
            "conv2": {"operation": {"type": "Conv2D", "parameters": {"filters": 64, "kernel_size": 5, "activation": "relu"}}},
            "pool2": {"operation": {"type": "MaxPool2D", "parameters": {"pool_size": 2}}}
        },

        "edges": [
            {"head": ["_inputs", 0], "tail": ["conv1", null]},
            {"head": ["conv1", null], "tail": ["pool1", null]},
            {"head": ["pool1", null], "tail": ["conv2", null]},
            {"head": ["conv2", null], "tail": ["pool2", null]},
            {"head": ["pool2", null], "tail": ["_outputs", 0]}
        ]
    },

    "_evaluator": {
        "__type__": "_debug_no_trainer"
    }
}
