{
  "format": "tensorviz.graph",
  "version": 3,
  "exportedAt": "2026-09-17T06:25:39.759240+00:00",
  "status": "static",
  "warningCount": 0,
  "document": {
    "schemaVersion": 2,
    "semantic": {
      "graph_id": "snapshot",
      "name": "ReducedAlexNet",
      "revision": 0,
      "nodes": [
        {
          "node_id": "input",
          "kind": "input",
          "op": "Input",
          "params": {
            "shape": "1,3,227,227"
          },
          "in_ports": [],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "input",
              "name": "Input",
              "displayName": "Input",
              "description": "Model input node",
              "icon": "ArrowRight",
              "category": "io",
              "parameters": [
                {
                  "name": "shape",
                  "type": "string",
                  "defaultValue": "1,3,224,224",
                  "required": true,
                  "description": "Input tensor shape (comma-separated, e.g., 1,3,224,224)"
                },
                {
                  "name": "name",
                  "type": "string",
                  "defaultValue": "input",
                  "required": false,
                  "description": "Name for this input"
                }
              ]
            }
          }
        },
        {
          "node_id": "conv1",
          "kind": "layer",
          "op": "Conv2d",
          "params": {
            "in_channels": 3,
            "out_channels": 8,
            "kernel_size": 11,
            "stride": 4
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "conv2d",
              "name": "Conv2d",
              "displayName": "Conv2D",
              "description": "2D Convolutional Layer",
              "icon": "Grid3X3",
              "category": "conv",
              "parameters": [
                {
                  "name": "in_channels",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Number of input channels",
                  "min": 1
                },
                {
                  "name": "out_channels",
                  "type": "number",
                  "defaultValue": 64,
                  "required": true,
                  "description": "Number of output channels",
                  "min": 1
                },
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Size of the convolving kernel",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Stride of the convolution",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Zero-padding added to both sides",
                  "min": 0
                },
                {
                  "name": "dilation",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Spacing between kernel elements",
                  "min": 1
                },
                {
                  "name": "groups",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Number of blocked connections from input to output channels",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If True, adds a learnable bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu1",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "norm1",
          "kind": "layer",
          "op": "LocalResponseNorm",
          "params": {
            "size": 5,
            "alpha": 0.0005,
            "beta": 0.75,
            "k": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "localresponsenorm",
              "name": "LocalResponseNorm",
              "displayName": "LocalResponseNorm",
              "description": "Local Response Normalization",
              "icon": "Layers",
              "category": "norm",
              "parameters": [
                {
                  "name": "size",
                  "type": "number",
                  "defaultValue": 5,
                  "required": true,
                  "description": "Amount of neighboring channels to normalize over",
                  "min": 1
                },
                {
                  "name": "alpha",
                  "type": "number",
                  "defaultValue": 0.0001,
                  "required": false,
                  "description": "Multiplicative factor",
                  "min": 0
                },
                {
                  "name": "beta",
                  "type": "number",
                  "defaultValue": 0.75,
                  "required": false,
                  "description": "Exponent",
                  "min": 0
                },
                {
                  "name": "k",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Additive factor",
                  "min": 0
                }
              ]
            }
          }
        },
        {
          "node_id": "pool1",
          "kind": "layer",
          "op": "MaxPool2d",
          "params": {
            "kernel_size": 3,
            "stride": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "maxpool2d",
              "name": "MaxPool2d",
              "displayName": "MaxPool2D",
              "description": "2D Max Pooling",
              "icon": "Square",
              "category": "pool",
              "parameters": [
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 2,
                  "required": true,
                  "description": "Size of the window to take a max over",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 2,
                  "required": false,
                  "description": "Stride of the window",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Implicit zero padding to be added",
                  "min": 0
                }
              ]
            }
          }
        },
        {
          "node_id": "conv2",
          "kind": "layer",
          "op": "Conv2d",
          "params": {
            "in_channels": 8,
            "out_channels": 16,
            "kernel_size": 5,
            "padding": 2,
            "groups": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "conv2d",
              "name": "Conv2d",
              "displayName": "Conv2D",
              "description": "2D Convolutional Layer",
              "icon": "Grid3X3",
              "category": "conv",
              "parameters": [
                {
                  "name": "in_channels",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Number of input channels",
                  "min": 1
                },
                {
                  "name": "out_channels",
                  "type": "number",
                  "defaultValue": 64,
                  "required": true,
                  "description": "Number of output channels",
                  "min": 1
                },
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Size of the convolving kernel",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Stride of the convolution",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Zero-padding added to both sides",
                  "min": 0
                },
                {
                  "name": "dilation",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Spacing between kernel elements",
                  "min": 1
                },
                {
                  "name": "groups",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Number of blocked connections from input to output channels",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If True, adds a learnable bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu2",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "norm2",
          "kind": "layer",
          "op": "LocalResponseNorm",
          "params": {
            "size": 5,
            "alpha": 0.0005,
            "beta": 0.75,
            "k": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "localresponsenorm",
              "name": "LocalResponseNorm",
              "displayName": "LocalResponseNorm",
              "description": "Local Response Normalization",
              "icon": "Layers",
              "category": "norm",
              "parameters": [
                {
                  "name": "size",
                  "type": "number",
                  "defaultValue": 5,
                  "required": true,
                  "description": "Amount of neighboring channels to normalize over",
                  "min": 1
                },
                {
                  "name": "alpha",
                  "type": "number",
                  "defaultValue": 0.0001,
                  "required": false,
                  "description": "Multiplicative factor",
                  "min": 0
                },
                {
                  "name": "beta",
                  "type": "number",
                  "defaultValue": 0.75,
                  "required": false,
                  "description": "Exponent",
                  "min": 0
                },
                {
                  "name": "k",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Additive factor",
                  "min": 0
                }
              ]
            }
          }
        },
        {
          "node_id": "pool2",
          "kind": "layer",
          "op": "MaxPool2d",
          "params": {
            "kernel_size": 3,
            "stride": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "maxpool2d",
              "name": "MaxPool2d",
              "displayName": "MaxPool2D",
              "description": "2D Max Pooling",
              "icon": "Square",
              "category": "pool",
              "parameters": [
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 2,
                  "required": true,
                  "description": "Size of the window to take a max over",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 2,
                  "required": false,
                  "description": "Stride of the window",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Implicit zero padding to be added",
                  "min": 0
                }
              ]
            }
          }
        },
        {
          "node_id": "conv3",
          "kind": "layer",
          "op": "Conv2d",
          "params": {
            "in_channels": 16,
            "out_channels": 24,
            "kernel_size": 3,
            "padding": 1
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "conv2d",
              "name": "Conv2d",
              "displayName": "Conv2D",
              "description": "2D Convolutional Layer",
              "icon": "Grid3X3",
              "category": "conv",
              "parameters": [
                {
                  "name": "in_channels",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Number of input channels",
                  "min": 1
                },
                {
                  "name": "out_channels",
                  "type": "number",
                  "defaultValue": 64,
                  "required": true,
                  "description": "Number of output channels",
                  "min": 1
                },
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Size of the convolving kernel",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Stride of the convolution",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Zero-padding added to both sides",
                  "min": 0
                },
                {
                  "name": "dilation",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Spacing between kernel elements",
                  "min": 1
                },
                {
                  "name": "groups",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Number of blocked connections from input to output channels",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If True, adds a learnable bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu3",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "conv4",
          "kind": "layer",
          "op": "Conv2d",
          "params": {
            "in_channels": 24,
            "out_channels": 24,
            "kernel_size": 3,
            "padding": 1,
            "groups": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "conv2d",
              "name": "Conv2d",
              "displayName": "Conv2D",
              "description": "2D Convolutional Layer",
              "icon": "Grid3X3",
              "category": "conv",
              "parameters": [
                {
                  "name": "in_channels",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Number of input channels",
                  "min": 1
                },
                {
                  "name": "out_channels",
                  "type": "number",
                  "defaultValue": 64,
                  "required": true,
                  "description": "Number of output channels",
                  "min": 1
                },
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Size of the convolving kernel",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Stride of the convolution",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Zero-padding added to both sides",
                  "min": 0
                },
                {
                  "name": "dilation",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Spacing between kernel elements",
                  "min": 1
                },
                {
                  "name": "groups",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Number of blocked connections from input to output channels",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If True, adds a learnable bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu4",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "conv5",
          "kind": "layer",
          "op": "Conv2d",
          "params": {
            "in_channels": 24,
            "out_channels": 16,
            "kernel_size": 3,
            "padding": 1,
            "groups": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "conv2d",
              "name": "Conv2d",
              "displayName": "Conv2D",
              "description": "2D Convolutional Layer",
              "icon": "Grid3X3",
              "category": "conv",
              "parameters": [
                {
                  "name": "in_channels",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Number of input channels",
                  "min": 1
                },
                {
                  "name": "out_channels",
                  "type": "number",
                  "defaultValue": 64,
                  "required": true,
                  "description": "Number of output channels",
                  "min": 1
                },
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 3,
                  "required": true,
                  "description": "Size of the convolving kernel",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Stride of the convolution",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Zero-padding added to both sides",
                  "min": 0
                },
                {
                  "name": "dilation",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Spacing between kernel elements",
                  "min": 1
                },
                {
                  "name": "groups",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "Number of blocked connections from input to output channels",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If True, adds a learnable bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu5",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "pool5",
          "kind": "layer",
          "op": "MaxPool2d",
          "params": {
            "kernel_size": 3,
            "stride": 2
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "maxpool2d",
              "name": "MaxPool2d",
              "displayName": "MaxPool2D",
              "description": "2D Max Pooling",
              "icon": "Square",
              "category": "pool",
              "parameters": [
                {
                  "name": "kernel_size",
                  "type": "number",
                  "defaultValue": 2,
                  "required": true,
                  "description": "Size of the window to take a max over",
                  "min": 1
                },
                {
                  "name": "stride",
                  "type": "number",
                  "defaultValue": 2,
                  "required": false,
                  "description": "Stride of the window",
                  "min": 1
                },
                {
                  "name": "padding",
                  "type": "number",
                  "defaultValue": 0,
                  "required": false,
                  "description": "Implicit zero padding to be added",
                  "min": 0
                }
              ]
            }
          }
        },
        {
          "node_id": "flatten",
          "kind": "layer",
          "op": "Flatten",
          "params": {
            "start_dim": 1
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "flatten",
              "name": "Flatten",
              "displayName": "Flatten",
              "description": "Flattens input tensor contiguously",
              "icon": "Maximize2",
              "category": "tensor",
              "parameters": [
                {
                  "name": "start_dim",
                  "type": "number",
                  "defaultValue": 1,
                  "required": false,
                  "description": "First dim to flatten",
                  "min": 0
                },
                {
                  "name": "end_dim",
                  "type": "number",
                  "defaultValue": -1,
                  "required": false,
                  "description": "Last dim to flatten"
                }
              ]
            }
          }
        },
        {
          "node_id": "fc6",
          "kind": "layer",
          "op": "Linear",
          "params": {
            "out_features": 64
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "linear",
              "name": "Linear",
              "displayName": "Linear",
              "description": "Fully Connected Layer",
              "icon": "Minus",
              "category": "linear",
              "parameters": [
                {
                  "name": "in_features",
                  "type": "number",
                  "defaultValue": 512,
                  "required": true,
                  "description": "Size of input features",
                  "min": 1
                },
                {
                  "name": "out_features",
                  "type": "number",
                  "defaultValue": 256,
                  "required": true,
                  "description": "Size of output features",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If set to False, the layer will not learn an additive bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu6",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "dropout6",
          "kind": "layer",
          "op": "Dropout",
          "params": {
            "p": 0.5
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "dropout",
              "name": "Dropout",
              "displayName": "Dropout",
              "description": "Randomly zeroes some elements of the input tensor during training",
              "icon": "X",
              "category": "dropout",
              "parameters": [
                {
                  "name": "p",
                  "type": "number",
                  "defaultValue": 0.5,
                  "required": false,
                  "description": "Probability of an element to be zeroed",
                  "min": 0,
                  "max": 1
                },
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "If set to True, will do this operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "fc7",
          "kind": "layer",
          "op": "Linear",
          "params": {
            "in_features": 64,
            "out_features": 64
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "linear",
              "name": "Linear",
              "displayName": "Linear",
              "description": "Fully Connected Layer",
              "icon": "Minus",
              "category": "linear",
              "parameters": [
                {
                  "name": "in_features",
                  "type": "number",
                  "defaultValue": 512,
                  "required": true,
                  "description": "Size of input features",
                  "min": 1
                },
                {
                  "name": "out_features",
                  "type": "number",
                  "defaultValue": 256,
                  "required": true,
                  "description": "Size of output features",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If set to False, the layer will not learn an additive bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "relu7",
          "kind": "layer",
          "op": "ReLU",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "relu",
              "name": "ReLU",
              "displayName": "ReLU",
              "description": "Rectified Linear Unit",
              "icon": "TrendingUp",
              "category": "activation",
              "parameters": [
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "Can optionally do the operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "dropout7",
          "kind": "layer",
          "op": "Dropout",
          "params": {
            "p": 0.5
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "dropout",
              "name": "Dropout",
              "displayName": "Dropout",
              "description": "Randomly zeroes some elements of the input tensor during training",
              "icon": "X",
              "category": "dropout",
              "parameters": [
                {
                  "name": "p",
                  "type": "number",
                  "defaultValue": 0.5,
                  "required": false,
                  "description": "Probability of an element to be zeroed",
                  "min": 0,
                  "max": 1
                },
                {
                  "name": "inplace",
                  "type": "boolean",
                  "defaultValue": false,
                  "required": false,
                  "description": "If set to True, will do this operation in-place"
                }
              ]
            }
          }
        },
        {
          "node_id": "fc8",
          "kind": "layer",
          "op": "Linear",
          "params": {
            "in_features": 64,
            "out_features": 10
          },
          "in_ports": [
            "x"
          ],
          "out_ports": [
            "y"
          ],
          "metadata": {
            "layerType": {
              "id": "linear",
              "name": "Linear",
              "displayName": "Linear",
              "description": "Fully Connected Layer",
              "icon": "Minus",
              "category": "linear",
              "parameters": [
                {
                  "name": "in_features",
                  "type": "number",
                  "defaultValue": 512,
                  "required": true,
                  "description": "Size of input features",
                  "min": 1
                },
                {
                  "name": "out_features",
                  "type": "number",
                  "defaultValue": 256,
                  "required": true,
                  "description": "Size of output features",
                  "min": 1
                },
                {
                  "name": "bias",
                  "type": "boolean",
                  "defaultValue": true,
                  "required": false,
                  "description": "If set to False, the layer will not learn an additive bias"
                }
              ]
            }
          }
        },
        {
          "node_id": "output",
          "kind": "output",
          "op": "Output",
          "params": {},
          "in_ports": [
            "x"
          ],
          "out_ports": [],
          "metadata": {
            "layerType": {
              "id": "output",
              "name": "Output",
              "displayName": "Output",
              "description": "Model output node",
              "icon": "ArrowLeft",
              "category": "io",
              "parameters": [
                {
                  "name": "name",
                  "type": "string",
                  "defaultValue": "output",
                  "required": false,
                  "description": "Name for this output"
                }
              ]
            }
          }
        }
      ],
      "edges": [
        {
          "edge_id": "edge-1",
          "source_node_id": "input",
          "target_node_id": "conv1",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-2",
          "source_node_id": "conv1",
          "target_node_id": "relu1",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-3",
          "source_node_id": "relu1",
          "target_node_id": "norm1",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-4",
          "source_node_id": "norm1",
          "target_node_id": "pool1",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-5",
          "source_node_id": "pool1",
          "target_node_id": "conv2",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-6",
          "source_node_id": "conv2",
          "target_node_id": "relu2",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-7",
          "source_node_id": "relu2",
          "target_node_id": "norm2",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-8",
          "source_node_id": "norm2",
          "target_node_id": "pool2",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-9",
          "source_node_id": "pool2",
          "target_node_id": "conv3",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-10",
          "source_node_id": "conv3",
          "target_node_id": "relu3",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-11",
          "source_node_id": "relu3",
          "target_node_id": "conv4",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-12",
          "source_node_id": "conv4",
          "target_node_id": "relu4",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-13",
          "source_node_id": "relu4",
          "target_node_id": "conv5",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-14",
          "source_node_id": "conv5",
          "target_node_id": "relu5",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-15",
          "source_node_id": "relu5",
          "target_node_id": "pool5",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-16",
          "source_node_id": "pool5",
          "target_node_id": "flatten",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-17",
          "source_node_id": "flatten",
          "target_node_id": "fc6",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-18",
          "source_node_id": "fc6",
          "target_node_id": "relu6",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-19",
          "source_node_id": "relu6",
          "target_node_id": "dropout6",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-20",
          "source_node_id": "dropout6",
          "target_node_id": "fc7",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-21",
          "source_node_id": "fc7",
          "target_node_id": "relu7",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-22",
          "source_node_id": "relu7",
          "target_node_id": "dropout7",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-23",
          "source_node_id": "dropout7",
          "target_node_id": "fc8",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        },
        {
          "edge_id": "edge-24",
          "source_node_id": "fc8",
          "target_node_id": "output",
          "source_port": "y",
          "target_port": "x",
          "metadata": {}
        }
      ],
      "inputs": [],
      "modules": [],
      "operations": [],
      "metadata": {}
    },
    "view": {
      "graph_id": "snapshot",
      "node_positions": {
        "input": {
          "x": 0,
          "y": 160
        },
        "conv1": {
          "x": 340,
          "y": 160
        },
        "relu1": {
          "x": 680,
          "y": 160
        },
        "norm1": {
          "x": 1020,
          "y": 160
        },
        "pool1": {
          "x": 1360,
          "y": 160
        },
        "conv2": {
          "x": 1700,
          "y": 160
        },
        "relu2": {
          "x": 2040,
          "y": 160
        },
        "norm2": {
          "x": 2380,
          "y": 160
        },
        "pool2": {
          "x": 2720,
          "y": 160
        },
        "conv3": {
          "x": 3060,
          "y": 160
        },
        "relu3": {
          "x": 3400,
          "y": 160
        },
        "conv4": {
          "x": 3740,
          "y": 160
        },
        "relu4": {
          "x": 4080,
          "y": 160
        },
        "conv5": {
          "x": 4420,
          "y": 160
        },
        "relu5": {
          "x": 4760,
          "y": 160
        },
        "pool5": {
          "x": 5100,
          "y": 160
        },
        "flatten": {
          "x": 5440,
          "y": 160
        },
        "fc6": {
          "x": 5780,
          "y": 160
        },
        "relu6": {
          "x": 6120,
          "y": 160
        },
        "dropout6": {
          "x": 6460,
          "y": 160
        },
        "fc7": {
          "x": 6800,
          "y": 160
        },
        "relu7": {
          "x": 7140,
          "y": 160
        },
        "dropout7": {
          "x": 7480,
          "y": 160
        },
        "fc8": {
          "x": 7820,
          "y": 160
        },
        "output": {
          "x": 8160,
          "y": 160
        }
      },
      "collapsed_modules": [],
      "selection": [],
      "layout": {}
    }
  },
  "snapshotId": "snapshot-e286506e19e1d7f8",
  "collaboration": {
    "walkthrough": {
      "title": "The convolutional network that changed ImageNet",
      "steps": [
        {
          "id": "features",
          "title": "Start with a large strided convolution",
          "note": "An 11×11 kernel with stride four maps the 227×227 RGB image to eight 55×55 feature maps. ReLU follows, then local response normalization across nearby channels.",
          "view": {
            "camera": {
              "x": -7.5,
              "y": 46.5,
              "z": 1.25
            },
            "nodePositions": {
              "input": {
                "x": 0,
                "y": 160
              },
              "conv1": {
                "x": 340,
                "y": 160
              },
              "relu1": {
                "x": 680,
                "y": 160
              },
              "norm1": {
                "x": 1020,
                "y": 160
              },
              "pool1": {
                "x": 1360,
                "y": 160
              },
              "conv2": {
                "x": 1700,
                "y": 160
              },
              "relu2": {
                "x": 2040,
                "y": 160
              },
              "norm2": {
                "x": 2380,
                "y": 160
              },
              "pool2": {
                "x": 2720,
                "y": 160
              },
              "conv3": {
                "x": 3060,
                "y": 160
              },
              "relu3": {
                "x": 3400,
                "y": 160
              },
              "conv4": {
                "x": 3740,
                "y": 160
              },
              "relu4": {
                "x": 4080,
                "y": 160
              },
              "conv5": {
                "x": 4420,
                "y": 160
              },
              "relu5": {
                "x": 4760,
                "y": 160
              },
              "pool5": {
                "x": 5100,
                "y": 160
              },
              "flatten": {
                "x": 5440,
                "y": 160
              },
              "fc6": {
                "x": 5780,
                "y": 160
              },
              "relu6": {
                "x": 6120,
                "y": 160
              },
              "dropout6": {
                "x": 6460,
                "y": 160
              },
              "fc7": {
                "x": 6800,
                "y": 160
              },
              "relu7": {
                "x": 7140,
                "y": 160
              },
              "dropout7": {
                "x": 7480,
                "y": 160
              },
              "fc8": {
                "x": 7820,
                "y": 160
              },
              "output": {
                "x": 8160,
                "y": 160
              }
            },
            "expandedModuleIds": [],
            "selectedNodeIds": [
              "conv1"
            ],
            "viewport": {
              "width": 1100,
              "height": 700
            }
          },
          "anchors": [
            {
              "target": {
                "kind": "node",
                "nodeId": "conv1"
              },
              "snapshotId": "snapshot-e286506e19e1d7f8",
              "exportedAt": "2026-09-17T06:25:39.759240+00:00",
              "modelName": "ReducedAlexNet",
              "context": "{\"connections\":[\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"conv1\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"relu1\\\",\\\"targetPort\\\":\\\"x\\\"}\",\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"input\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"conv1\\\",\\\"targetPort\\\":\\\"x\\\"}\"],\"contents\":[],\"node\":{\"id\":\"conv1\",\"kind\":\"layer\",\"op\":\"Conv2d\",\"params\":{\"in_channels\":3,\"kernel_size\":11,\"out_channels\":8,\"stride\":4}}}"
            }
          ]
        },
        {
          "id": "groups",
          "title": "Split selected convolutions into channel groups",
          "note": "Convolutions 2, 4 and 5 use two groups, reflecting the original architecture's split computation. Each output group sees its own input-channel group. Convolution 3 mixes across the full previous representation.",
          "view": {
            "camera": {
              "x": -1367.5,
              "y": 36,
              "z": 1.25
            },
            "nodePositions": {
              "input": {
                "x": 0,
                "y": 160
              },
              "conv1": {
                "x": 340,
                "y": 160
              },
              "relu1": {
                "x": 680,
                "y": 160
              },
              "norm1": {
                "x": 1020,
                "y": 160
              },
              "pool1": {
                "x": 1360,
                "y": 160
              },
              "conv2": {
                "x": 1700,
                "y": 160
              },
              "relu2": {
                "x": 2040,
                "y": 160
              },
              "norm2": {
                "x": 2380,
                "y": 160
              },
              "pool2": {
                "x": 2720,
                "y": 160
              },
              "conv3": {
                "x": 3060,
                "y": 160
              },
              "relu3": {
                "x": 3400,
                "y": 160
              },
              "conv4": {
                "x": 3740,
                "y": 160
              },
              "relu4": {
                "x": 4080,
                "y": 160
              },
              "conv5": {
                "x": 4420,
                "y": 160
              },
              "relu5": {
                "x": 4760,
                "y": 160
              },
              "pool5": {
                "x": 5100,
                "y": 160
              },
              "flatten": {
                "x": 5440,
                "y": 160
              },
              "fc6": {
                "x": 5780,
                "y": 160
              },
              "relu6": {
                "x": 6120,
                "y": 160
              },
              "dropout6": {
                "x": 6460,
                "y": 160
              },
              "fc7": {
                "x": 6800,
                "y": 160
              },
              "relu7": {
                "x": 7140,
                "y": 160
              },
              "dropout7": {
                "x": 7480,
                "y": 160
              },
              "fc8": {
                "x": 7820,
                "y": 160
              },
              "output": {
                "x": 8160,
                "y": 160
              }
            },
            "expandedModuleIds": [],
            "selectedNodeIds": [
              "conv2"
            ],
            "viewport": {
              "width": 1100,
              "height": 700
            }
          },
          "anchors": [
            {
              "target": {
                "kind": "node",
                "nodeId": "conv2"
              },
              "snapshotId": "snapshot-e286506e19e1d7f8",
              "exportedAt": "2026-09-17T06:25:39.759240+00:00",
              "modelName": "ReducedAlexNet",
              "context": "{\"connections\":[\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"conv2\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"relu2\\\",\\\"targetPort\\\":\\\"x\\\"}\",\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"pool1\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"conv2\\\",\\\"targetPort\\\":\\\"x\\\"}\"],\"contents\":[],\"node\":{\"id\":\"conv2\",\"kind\":\"layer\",\"op\":\"Conv2d\",\"params\":{\"groups\":2,\"in_channels\":8,\"kernel_size\":5,\"out_channels\":16,\"padding\":2}}}"
            }
          ]
        },
        {
          "id": "pool",
          "title": "Pool overlapping neighborhoods",
          "note": "A 3×3 window advances by two pixels, so adjacent pooling windows overlap. After the fifth convolution, the final pooling stage leaves 16 channels at 6×6, or 576 features.",
          "view": {
            "camera": {
              "x": -4767.5,
              "y": 60,
              "z": 1.25
            },
            "nodePositions": {
              "input": {
                "x": 0,
                "y": 160
              },
              "conv1": {
                "x": 340,
                "y": 160
              },
              "relu1": {
                "x": 680,
                "y": 160
              },
              "norm1": {
                "x": 1020,
                "y": 160
              },
              "pool1": {
                "x": 1360,
                "y": 160
              },
              "conv2": {
                "x": 1700,
                "y": 160
              },
              "relu2": {
                "x": 2040,
                "y": 160
              },
              "norm2": {
                "x": 2380,
                "y": 160
              },
              "pool2": {
                "x": 2720,
                "y": 160
              },
              "conv3": {
                "x": 3060,
                "y": 160
              },
              "relu3": {
                "x": 3400,
                "y": 160
              },
              "conv4": {
                "x": 3740,
                "y": 160
              },
              "relu4": {
                "x": 4080,
                "y": 160
              },
              "conv5": {
                "x": 4420,
                "y": 160
              },
              "relu5": {
                "x": 4760,
                "y": 160
              },
              "pool5": {
                "x": 5100,
                "y": 160
              },
              "flatten": {
                "x": 5440,
                "y": 160
              },
              "fc6": {
                "x": 5780,
                "y": 160
              },
              "relu6": {
                "x": 6120,
                "y": 160
              },
              "dropout6": {
                "x": 6460,
                "y": 160
              },
              "fc7": {
                "x": 6800,
                "y": 160
              },
              "relu7": {
                "x": 7140,
                "y": 160
              },
              "dropout7": {
                "x": 7480,
                "y": 160
              },
              "fc8": {
                "x": 7820,
                "y": 160
              },
              "output": {
                "x": 8160,
                "y": 160
              }
            },
            "expandedModuleIds": [],
            "selectedNodeIds": [
              "pool5"
            ],
            "viewport": {
              "width": 1100,
              "height": 700
            }
          },
          "anchors": [
            {
              "target": {
                "kind": "node",
                "nodeId": "pool5"
              },
              "snapshotId": "snapshot-e286506e19e1d7f8",
              "exportedAt": "2026-09-17T06:25:39.759240+00:00",
              "modelName": "ReducedAlexNet",
              "context": "{\"connections\":[\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"pool5\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"flatten\\\",\\\"targetPort\\\":\\\"x\\\"}\",\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"relu5\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"pool5\\\",\\\"targetPort\\\":\\\"x\\\"}\"],\"contents\":[],\"node\":{\"id\":\"pool5\",\"kind\":\"layer\",\"op\":\"MaxPool2d\",\"params\":{\"kernel_size\":3,\"stride\":2}}}"
            }
          ]
        },
        {
          "id": "dropout",
          "title": "Regularize the dense classifier during training",
          "note": "The first fully connected layer maps 576 features to 64. Dropout masks half its activated features on average during training and rescales survivors. It acts as identity in the captured evaluation forward.",
          "view": {
            "camera": {
              "x": -6127.5,
              "y": 60,
              "z": 1.25
            },
            "nodePositions": {
              "input": {
                "x": 0,
                "y": 160
              },
              "conv1": {
                "x": 340,
                "y": 160
              },
              "relu1": {
                "x": 680,
                "y": 160
              },
              "norm1": {
                "x": 1020,
                "y": 160
              },
              "pool1": {
                "x": 1360,
                "y": 160
              },
              "conv2": {
                "x": 1700,
                "y": 160
              },
              "relu2": {
                "x": 2040,
                "y": 160
              },
              "norm2": {
                "x": 2380,
                "y": 160
              },
              "pool2": {
                "x": 2720,
                "y": 160
              },
              "conv3": {
                "x": 3060,
                "y": 160
              },
              "relu3": {
                "x": 3400,
                "y": 160
              },
              "conv4": {
                "x": 3740,
                "y": 160
              },
              "relu4": {
                "x": 4080,
                "y": 160
              },
              "conv5": {
                "x": 4420,
                "y": 160
              },
              "relu5": {
                "x": 4760,
                "y": 160
              },
              "pool5": {
                "x": 5100,
                "y": 160
              },
              "flatten": {
                "x": 5440,
                "y": 160
              },
              "fc6": {
                "x": 5780,
                "y": 160
              },
              "relu6": {
                "x": 6120,
                "y": 160
              },
              "dropout6": {
                "x": 6460,
                "y": 160
              },
              "fc7": {
                "x": 6800,
                "y": 160
              },
              "relu7": {
                "x": 7140,
                "y": 160
              },
              "dropout7": {
                "x": 7480,
                "y": 160
              },
              "fc8": {
                "x": 7820,
                "y": 160
              },
              "output": {
                "x": 8160,
                "y": 160
              }
            },
            "expandedModuleIds": [],
            "selectedNodeIds": [
              "dropout6"
            ],
            "viewport": {
              "width": 1100,
              "height": 700
            }
          },
          "anchors": [
            {
              "target": {
                "kind": "node",
                "nodeId": "dropout6"
              },
              "snapshotId": "snapshot-e286506e19e1d7f8",
              "exportedAt": "2026-09-17T06:25:39.759240+00:00",
              "modelName": "ReducedAlexNet",
              "context": "{\"connections\":[\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"dropout6\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"fc7\\\",\\\"targetPort\\\":\\\"x\\\"}\",\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"relu6\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"dropout6\\\",\\\"targetPort\\\":\\\"x\\\"}\"],\"contents\":[],\"node\":{\"id\":\"dropout6\",\"kind\":\"layer\",\"op\":\"Dropout\",\"params\":{\"p\":0.5}}}"
            }
          ]
        }
      ]
    },
    "threads": [],
    "savedViews": [
      {
        "id": "groups",
        "title": "Split selected convolutions into channel groups",
        "note": "Convolutions 2, 4 and 5 use two groups, reflecting the original architecture's split computation. Each output group sees its own input-channel group. Convolution 3 mixes across the full previous representation.",
        "view": {
          "camera": {
            "x": -1367.5,
            "y": 36,
            "z": 1.25
          },
          "nodePositions": {
            "input": {
              "x": 0,
              "y": 160
            },
            "conv1": {
              "x": 340,
              "y": 160
            },
            "relu1": {
              "x": 680,
              "y": 160
            },
            "norm1": {
              "x": 1020,
              "y": 160
            },
            "pool1": {
              "x": 1360,
              "y": 160
            },
            "conv2": {
              "x": 1700,
              "y": 160
            },
            "relu2": {
              "x": 2040,
              "y": 160
            },
            "norm2": {
              "x": 2380,
              "y": 160
            },
            "pool2": {
              "x": 2720,
              "y": 160
            },
            "conv3": {
              "x": 3060,
              "y": 160
            },
            "relu3": {
              "x": 3400,
              "y": 160
            },
            "conv4": {
              "x": 3740,
              "y": 160
            },
            "relu4": {
              "x": 4080,
              "y": 160
            },
            "conv5": {
              "x": 4420,
              "y": 160
            },
            "relu5": {
              "x": 4760,
              "y": 160
            },
            "pool5": {
              "x": 5100,
              "y": 160
            },
            "flatten": {
              "x": 5440,
              "y": 160
            },
            "fc6": {
              "x": 5780,
              "y": 160
            },
            "relu6": {
              "x": 6120,
              "y": 160
            },
            "dropout6": {
              "x": 6460,
              "y": 160
            },
            "fc7": {
              "x": 6800,
              "y": 160
            },
            "relu7": {
              "x": 7140,
              "y": 160
            },
            "dropout7": {
              "x": 7480,
              "y": 160
            },
            "fc8": {
              "x": 7820,
              "y": 160
            },
            "output": {
              "x": 8160,
              "y": 160
            }
          },
          "expandedModuleIds": [],
          "selectedNodeIds": [
            "conv2"
          ],
          "viewport": {
            "width": 1100,
            "height": 700
          }
        },
        "anchors": [
          {
            "target": {
              "kind": "node",
              "nodeId": "conv2"
            },
            "snapshotId": "snapshot-e286506e19e1d7f8",
            "exportedAt": "2026-09-17T06:25:39.759240+00:00",
            "modelName": "ReducedAlexNet",
            "context": "{\"connections\":[\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"conv2\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"relu2\\\",\\\"targetPort\\\":\\\"x\\\"}\",\"{\\\"kind\\\":\\\"edge\\\",\\\"source\\\":\\\"pool1\\\",\\\"sourcePort\\\":\\\"y\\\",\\\"target\\\":\\\"conv2\\\",\\\"targetPort\\\":\\\"x\\\"}\"],\"contents\":[],\"node\":{\"id\":\"conv2\",\"kind\":\"layer\",\"op\":\"Conv2d\",\"params\":{\"groups\":2,\"in_channels\":8,\"kernel_size\":5,\"out_channels\":16,\"padding\":2}}}"
          }
        ]
      }
    ],
    "openingViewId": "groups"
  }
}
