The following is adapted from Visualizing TensorFlow Graphs in Jupyter Notebooks

And excuted in

docker run -it -p 8888:8888 -p 6006:6006 -v `pwd`:/space/ -w /space/ --rm --name md waleedka/modern-deep-learning jupyter notebook --ip=0.0.0.0 --allow-root

In [1]:
import tensorflow as tf

g = tf.Graph()

with g.as_default():
    a = tf.placeholder(tf.float32, name="a")
    b = tf.placeholder(tf.float32, name="b")
    c = a + b

In [2]:
[node.name for node in g.as_graph_def().node]


Out[2]:
['a', 'b', 'add']

In [3]:
g.as_graph_def().node[2].input


Out[3]:
['a', 'b']

In [14]:
%%bash
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -yq --no-install-recommends graphviz


Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Fetched 306 kB in 2s (123 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
graphviz is already the newest version (2.38.0-12ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 73 not upgraded.

In [6]:
%%bash
pip install graphviz


Collecting graphviz
  Downloading graphviz-0.8.1-py2.py3-none-any.whl
Installing collected packages: graphviz
Successfully installed graphviz-0.8.1

In [15]:
from graphviz import Digraph

dot = Digraph()

for n in g.as_graph_def().node:
    # Each node has a name and a label. The name identifies the node
    # while the label is what will be displayed in the graph.
    # We're using the name as a label for simplicity.
    dot.node(n.name, label=n.name)
    
    for i in n.input:
        # Edges are determined by the names of the nodes
        dot.edge(i, n.name)
        
# Jupyter can automatically display the DOT graph,
# which allows us to just return it as a value.
dot


Out[15]:
%3 a a add add a->add b b b->add

In [16]:
def tf_to_dot(graph):
    dot = Digraph()

    for n in g.as_graph_def().node:
        dot.node(n.name, label=n.name)

        for i in n.input:
            dot.edge(i, n.name)
            
    return dot

In [17]:
g = tf.Graph()

with g.as_default():
    pi = tf.constant(3.14, name="pi")
    r = tf.placeholder(tf.float32, name="r")
    
    y = pi * r * r
    
tf_to_dot(g)


Out[17]:
%3 pi pi mul mul pi->mul r r r->mul mul_1 mul_1 r->mul_1 mul->mul_1

In [24]:
%%bash
mkdir vis_logs

Run the follwing:

docker exec -it md tensorboard --logdir=dl/vis_logs

And navigate to http://localhost:6006/#graphs


In [26]:
g = tf.Graph()

with g.as_default():
    pi = tf.constant(3.14, name="pi")
    r = tf.placeholder(tf.float32, name="r")
    
    y = pi * r * r
    
tf.summary.FileWriter("vis_logs", g).close()


In [27]:
g = tf.Graph()

with g.as_default():
    X = tf.placeholder(tf.float32, name="X")
    
    W1 = tf.placeholder(tf.float32, name="W1")
    b1 = tf.placeholder(tf.float32, name="b1")
    
    a1 = tf.nn.relu(tf.matmul(X, W1) + b1)
    
    W2 = tf.placeholder(tf.float32, name="W2")
    b2 = tf.placeholder(tf.float32, name="b2")
    
    a2 = tf.nn.relu(tf.matmul(a1, W2) + b2)

    W3 = tf.placeholder(tf.float32, name="W3")
    b3 = tf.placeholder(tf.float32, name="b3")
    
    y_hat = tf.matmul(a2, W3) + b3
    
tf.summary.FileWriter("vis_logs", g).close()


In [30]:
g = tf.Graph()

with g.as_default():
    X = tf.placeholder(tf.float32, name="X")
    
    with tf.name_scope("Layer1"):
        W1 = tf.placeholder(tf.float32, name="W1")
        b1 = tf.placeholder(tf.float32, name="b1")

        a1 = tf.nn.relu(tf.matmul(X, W1) + b1)
    
    with tf.name_scope("Layer2"):
        W2 = tf.placeholder(tf.float32, name="W2")
        b2 = tf.placeholder(tf.float32, name="b2")

        a2 = tf.nn.relu(tf.matmul(a1, W2) + b2)

    with tf.name_scope("Layer3"):
        W3 = tf.placeholder(tf.float32, name="W3")
        b3 = tf.placeholder(tf.float32, name="b3")

        y_hat = tf.matmul(a2, W3) + b3
    
tf.summary.FileWriter("vis_logs", g).close()


In [33]:
# https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/deepdream/deepdream.ipynb
# TensorFlow Graph visualizer code
import numpy as np
from IPython.display import clear_output, Image, display, HTML

def strip_consts(graph_def, max_const_size=32):
    """Strip large constant values from graph_def."""
    strip_def = tf.GraphDef()
    for n0 in graph_def.node:
        n = strip_def.node.add() 
        n.MergeFrom(n0)
        if n.op == 'Const':
            tensor = n.attr['value'].tensor
            size = len(tensor.tensor_content)
            if size > max_const_size:
                tensor.tensor_content = "<stripped %d bytes>"%size
    return strip_def

def show_graph(graph_def, max_const_size=32):
    """Visualize TensorFlow graph."""
    if hasattr(graph_def, 'as_graph_def'):
        graph_def = graph_def.as_graph_def()
    strip_def = strip_consts(graph_def, max_const_size=max_const_size)
    code = """
        <script src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.3.3/platform.js"></script>
        <script>
          function load() {{
            document.getElementById("{id}").pbtxt = {data};
          }}
        </script>
        <link rel="import" href="https://tensorboard.appspot.com/tf-graph-basic.build.html" onload=load()>
        <div style="height:600px">
          <tf-graph-basic id="{id}"></tf-graph-basic>
        </div>
    """.format(data=repr(str(strip_def)), id='graph'+str(np.random.rand()))

    iframe = """
        <iframe seamless style="width:1200px;height:620px;border:0" srcdoc="{}"></iframe>
    """.format(code.replace('"', '&quot;'))
    display(HTML(iframe))

In [32]:
# Simply call this to display the result. Unfortunately it doesn't save the output together with
# the Jupyter notebook, so we can only show a non-interactive image here.
show_graph(g)



In [36]:
%%bash
pip install mxnet


Collecting mxnet
  Downloading mxnet-0.12.1-py2.py3-none-manylinux1_x86_64.whl (25.7MB)
Requirement already satisfied: numpy in /usr/local/lib/python3.5/dist-packages (from mxnet)
Requirement already satisfied: graphviz in /usr/local/lib/python3.5/dist-packages (from mxnet)
Requirement already satisfied: requests in /usr/local/lib/python3.5/dist-packages (from mxnet)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.5/dist-packages (from requests->mxnet)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.5/dist-packages (from requests->mxnet)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.5/dist-packages (from requests->mxnet)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.5/dist-packages (from requests->mxnet)
Installing collected packages: mxnet
Successfully installed mxnet-0.12.1

In [48]:
%%bash
# https://github.com/dmlc/mxnet-model-gallery/blob/master/imagenet-1k-vgg.md
wget http://data.dmlc.ml/mxnet/models/imagenet/vgg/vgg19.tar.gz


--2017-11-24 00:26:22--  http://data.dmlc.ml/mxnet/models/imagenet/vgg/vgg19.tar.gz
Resolving data.dmlc.ml (data.dmlc.ml)... 54.208.175.7
Connecting to data.dmlc.ml (data.dmlc.ml)|54.208.175.7|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-11-24 00:26:25 ERROR 404: Not Found.


In [45]:
%%bash
wget http://data.dmlc.ml/models/imagenet/inception-bn/Inception-BN-symbol.json


--2017-11-23 01:55:04--  http://data.dmlc.ml/models/imagenet/inception-bn/Inception-BN-symbol.json
Resolving data.dmlc.ml (data.dmlc.ml)... 54.208.175.7
Connecting to data.dmlc.ml (data.dmlc.ml)|54.208.175.7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 116922 (114K) [application/json]
Saving to: 'Inception-BN-symbol.json'

     0K .......... .......... .......... .......... .......... 43% 23.1K 3s
    50K .......... .......... .......... .......... .......... 87% 16.4K 1s
   100K .......... ....                                       100% 10.2K=6.6s

2017-11-23 01:55:13 (17.3 KB/s) - 'Inception-BN-symbol.json' saved [116922/116922]


In [46]:
%%bash
cat Inception-BN-symbol.json


{
  "nodes": [
    {
      "op": "null", 
      "param": {}, 
      "name": "data", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(7,7)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(3,3)", 
        "stride": "(2,2)", 
        "workspace": "1024"
      }, 
      "name": "conv_1", 
      "inputs": [[0, 0], [1, 0], [2, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_1", 
      "inputs": [[3, 0], [4, 0], [5, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_1", 
      "inputs": [[6, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(0,0)", 
        "pool_type": "max", 
        "pooling_convention": "valid", 
        "stride": "(2,2)"
      }, 
      "name": "pool_1", 
      "inputs": [[7, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_2_red_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_2_red_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_2_red", 
      "inputs": [[8, 0], [9, 0], [10, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_2_red_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_2_red_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_2_red", 
      "inputs": [[11, 0], [12, 0], [13, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_2_red", 
      "inputs": [[14, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_2_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_2_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_2", 
      "inputs": [[15, 0], [16, 0], [17, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_2_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_2_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_2", 
      "inputs": [[18, 0], [19, 0], [20, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_2", 
      "inputs": [[21, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(0,0)", 
        "pool_type": "max", 
        "pooling_convention": "valid", 
        "stride": "(2,2)"
      }, 
      "name": "pool_2", 
      "inputs": [[22, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_1x1", 
      "inputs": [[23, 0], [24, 0], [25, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_1x1", 
      "inputs": [[26, 0], [27, 0], [28, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_1x1", 
      "inputs": [[29, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_3x3_reduce", 
      "inputs": [[23, 0], [31, 0], [32, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_3x3_reduce", 
      "inputs": [[33, 0], [34, 0], [35, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_3x3_reduce", 
      "inputs": [[36, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_3x3", 
      "inputs": [[37, 0], [38, 0], [39, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_3x3", 
      "inputs": [[40, 0], [41, 0], [42, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_3x3", 
      "inputs": [[43, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_double_3x3_reduce", 
      "inputs": [[23, 0], [45, 0], [46, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_double_3x3_reduce", 
      "inputs": [[47, 0], [48, 0], [49, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_double_3x3_reduce", 
      "inputs": [[50, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_double_3x3_0", 
      "inputs": [[51, 0], [52, 0], [53, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_double_3x3_0", 
      "inputs": [[54, 0], [55, 0], [56, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_double_3x3_0", 
      "inputs": [[57, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_double_3x3_1", 
      "inputs": [[58, 0], [59, 0], [60, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_double_3x3_1", 
      "inputs": [[61, 0], [62, 0], [63, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_double_3x3_1", 
      "inputs": [[64, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_3a_pool", 
      "inputs": [[23, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3a_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "32", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3a_proj", 
      "inputs": [[66, 0], [67, 0], [68, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3a_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3a_proj", 
      "inputs": [[69, 0], [70, 0], [71, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3a_proj", 
      "inputs": [[72, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_3a_chconcat", 
      "inputs": [[30, 0], [44, 0], [65, 0], [73, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_1x1", 
      "inputs": [[74, 0], [75, 0], [76, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_1x1", 
      "inputs": [[77, 0], [78, 0], [79, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_1x1", 
      "inputs": [[80, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_3x3_reduce", 
      "inputs": [[74, 0], [82, 0], [83, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_3x3_reduce", 
      "inputs": [[84, 0], [85, 0], [86, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_3x3_reduce", 
      "inputs": [[87, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_3x3", 
      "inputs": [[88, 0], [89, 0], [90, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_3x3", 
      "inputs": [[91, 0], [92, 0], [93, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_3x3", 
      "inputs": [[94, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_double_3x3_reduce", 
      "inputs": [[74, 0], [96, 0], [97, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_double_3x3_reduce", 
      "inputs": [[98, 0], [99, 0], [100, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_double_3x3_reduce", 
      "inputs": [[101, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_double_3x3_0", 
      "inputs": [[102, 0], [103, 0], [104, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_double_3x3_0", 
      "inputs": [[105, 0], [106, 0], [107, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_double_3x3_0", 
      "inputs": [[108, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_double_3x3_1", 
      "inputs": [[109, 0], [110, 0], [111, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_double_3x3_1", 
      "inputs": [[112, 0], [113, 0], [114, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_double_3x3_1", 
      "inputs": [[115, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_3b_pool", 
      "inputs": [[74, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3b_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3b_proj", 
      "inputs": [[117, 0], [118, 0], [119, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3b_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3b_proj", 
      "inputs": [[120, 0], [121, 0], [122, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3b_proj", 
      "inputs": [[123, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_3b_chconcat", 
      "inputs": [[81, 0], [95, 0], [116, 0], [124, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3c_3x3_reduce", 
      "inputs": [[125, 0], [126, 0], [127, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3c_3x3_reduce", 
      "inputs": [[128, 0], [129, 0], [130, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3c_3x3_reduce", 
      "inputs": [[131, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(2,2)", 
        "workspace": "1024"
      }, 
      "name": "conv_3c_3x3", 
      "inputs": [[132, 0], [133, 0], [134, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3c_3x3", 
      "inputs": [[135, 0], [136, 0], [137, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3c_3x3", 
      "inputs": [[138, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3c_double_3x3_reduce", 
      "inputs": [[125, 0], [140, 0], [141, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3c_double_3x3_reduce", 
      "inputs": [[142, 0], [143, 0], [144, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3c_double_3x3_reduce", 
      "inputs": [[145, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_3c_double_3x3_0", 
      "inputs": [[146, 0], [147, 0], [148, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3c_double_3x3_0", 
      "inputs": [[149, 0], [150, 0], [151, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3c_double_3x3_0", 
      "inputs": [[152, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_3c_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(2,2)", 
        "workspace": "1024"
      }, 
      "name": "conv_3c_double_3x3_1", 
      "inputs": [[153, 0], [154, 0], [155, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_3c_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_3c_double_3x3_1", 
      "inputs": [[156, 0], [157, 0], [158, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_3c_double_3x3_1", 
      "inputs": [[159, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "max", 
        "pooling_convention": "valid", 
        "stride": "(2,2)"
      }, 
      "name": "max_pool_3c_pool", 
      "inputs": [[125, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "3"
      }, 
      "name": "ch_concat_3c_chconcat", 
      "inputs": [[139, 0], [160, 0], [161, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "224", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_1x1", 
      "inputs": [[162, 0], [163, 0], [164, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_1x1", 
      "inputs": [[165, 0], [166, 0], [167, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_1x1", 
      "inputs": [[168, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "64", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_3x3_reduce", 
      "inputs": [[162, 0], [170, 0], [171, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_3x3_reduce", 
      "inputs": [[172, 0], [173, 0], [174, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_3x3_reduce", 
      "inputs": [[175, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_3x3", 
      "inputs": [[176, 0], [177, 0], [178, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_3x3", 
      "inputs": [[179, 0], [180, 0], [181, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_3x3", 
      "inputs": [[182, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_double_3x3_reduce", 
      "inputs": [[162, 0], [184, 0], [185, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_double_3x3_reduce", 
      "inputs": [[186, 0], [187, 0], [188, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_double_3x3_reduce", 
      "inputs": [[189, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_double_3x3_0", 
      "inputs": [[190, 0], [191, 0], [192, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_double_3x3_0", 
      "inputs": [[193, 0], [194, 0], [195, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_double_3x3_0", 
      "inputs": [[196, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_double_3x3_1", 
      "inputs": [[197, 0], [198, 0], [199, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_double_3x3_1", 
      "inputs": [[200, 0], [201, 0], [202, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_double_3x3_1", 
      "inputs": [[203, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_4a_pool", 
      "inputs": [[162, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4a_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4a_proj", 
      "inputs": [[205, 0], [206, 0], [207, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4a_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4a_proj", 
      "inputs": [[208, 0], [209, 0], [210, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4a_proj", 
      "inputs": [[211, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_4a_chconcat", 
      "inputs": [[169, 0], [183, 0], [204, 0], [212, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_1x1", 
      "inputs": [[213, 0], [214, 0], [215, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_1x1", 
      "inputs": [[216, 0], [217, 0], [218, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_1x1", 
      "inputs": [[219, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_3x3_reduce", 
      "inputs": [[213, 0], [221, 0], [222, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_3x3_reduce", 
      "inputs": [[223, 0], [224, 0], [225, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_3x3_reduce", 
      "inputs": [[226, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_3x3", 
      "inputs": [[227, 0], [228, 0], [229, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_3x3", 
      "inputs": [[230, 0], [231, 0], [232, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_3x3", 
      "inputs": [[233, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_double_3x3_reduce", 
      "inputs": [[213, 0], [235, 0], [236, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_double_3x3_reduce", 
      "inputs": [[237, 0], [238, 0], [239, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_double_3x3_reduce", 
      "inputs": [[240, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_double_3x3_0", 
      "inputs": [[241, 0], [242, 0], [243, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_double_3x3_0", 
      "inputs": [[244, 0], [245, 0], [246, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_double_3x3_0", 
      "inputs": [[247, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_double_3x3_1", 
      "inputs": [[248, 0], [249, 0], [250, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_double_3x3_1", 
      "inputs": [[251, 0], [252, 0], [253, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_double_3x3_1", 
      "inputs": [[254, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_4b_pool", 
      "inputs": [[213, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4b_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4b_proj", 
      "inputs": [[256, 0], [257, 0], [258, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4b_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4b_proj", 
      "inputs": [[259, 0], [260, 0], [261, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4b_proj", 
      "inputs": [[262, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_4b_chconcat", 
      "inputs": [[220, 0], [234, 0], [255, 0], [263, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_1x1", 
      "inputs": [[264, 0], [265, 0], [266, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_1x1", 
      "inputs": [[267, 0], [268, 0], [269, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_1x1", 
      "inputs": [[270, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_3x3_reduce", 
      "inputs": [[264, 0], [272, 0], [273, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_3x3_reduce", 
      "inputs": [[274, 0], [275, 0], [276, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_3x3_reduce", 
      "inputs": [[277, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_3x3", 
      "inputs": [[278, 0], [279, 0], [280, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_3x3", 
      "inputs": [[281, 0], [282, 0], [283, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_3x3", 
      "inputs": [[284, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_double_3x3_reduce", 
      "inputs": [[264, 0], [286, 0], [287, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_double_3x3_reduce", 
      "inputs": [[288, 0], [289, 0], [290, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_double_3x3_reduce", 
      "inputs": [[291, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_double_3x3_0", 
      "inputs": [[292, 0], [293, 0], [294, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_double_3x3_0", 
      "inputs": [[295, 0], [296, 0], [297, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_double_3x3_0", 
      "inputs": [[298, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_double_3x3_1", 
      "inputs": [[299, 0], [300, 0], [301, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_double_3x3_1", 
      "inputs": [[302, 0], [303, 0], [304, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_double_3x3_1", 
      "inputs": [[305, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_4c_pool", 
      "inputs": [[264, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4c_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4c_proj", 
      "inputs": [[307, 0], [308, 0], [309, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4c_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4c_proj", 
      "inputs": [[310, 0], [311, 0], [312, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4c_proj", 
      "inputs": [[313, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_4c_chconcat", 
      "inputs": [[271, 0], [285, 0], [306, 0], [314, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "96", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_1x1", 
      "inputs": [[315, 0], [316, 0], [317, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_1x1", 
      "inputs": [[318, 0], [319, 0], [320, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_1x1", 
      "inputs": [[321, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_3x3_reduce", 
      "inputs": [[315, 0], [323, 0], [324, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_3x3_reduce", 
      "inputs": [[325, 0], [326, 0], [327, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_3x3_reduce", 
      "inputs": [[328, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_3x3", 
      "inputs": [[329, 0], [330, 0], [331, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_3x3", 
      "inputs": [[332, 0], [333, 0], [334, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_3x3", 
      "inputs": [[335, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_double_3x3_reduce", 
      "inputs": [[315, 0], [337, 0], [338, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_double_3x3_reduce", 
      "inputs": [[339, 0], [340, 0], [341, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_double_3x3_reduce", 
      "inputs": [[342, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_double_3x3_0", 
      "inputs": [[343, 0], [344, 0], [345, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_double_3x3_0", 
      "inputs": [[346, 0], [347, 0], [348, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_double_3x3_0", 
      "inputs": [[349, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_double_3x3_1", 
      "inputs": [[350, 0], [351, 0], [352, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_double_3x3_1", 
      "inputs": [[353, 0], [354, 0], [355, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_double_3x3_1", 
      "inputs": [[356, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_4d_pool", 
      "inputs": [[315, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4d_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4d_proj", 
      "inputs": [[358, 0], [359, 0], [360, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4d_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4d_proj", 
      "inputs": [[361, 0], [362, 0], [363, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4d_proj", 
      "inputs": [[364, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_4d_chconcat", 
      "inputs": [[322, 0], [336, 0], [357, 0], [365, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4e_3x3_reduce", 
      "inputs": [[366, 0], [367, 0], [368, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4e_3x3_reduce", 
      "inputs": [[369, 0], [370, 0], [371, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4e_3x3_reduce", 
      "inputs": [[372, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(2,2)", 
        "workspace": "1024"
      }, 
      "name": "conv_4e_3x3", 
      "inputs": [[373, 0], [374, 0], [375, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4e_3x3", 
      "inputs": [[376, 0], [377, 0], [378, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4e_3x3", 
      "inputs": [[379, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4e_double_3x3_reduce", 
      "inputs": [[366, 0], [381, 0], [382, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4e_double_3x3_reduce", 
      "inputs": [[383, 0], [384, 0], [385, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4e_double_3x3_reduce", 
      "inputs": [[386, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "256", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_4e_double_3x3_0", 
      "inputs": [[387, 0], [388, 0], [389, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4e_double_3x3_0", 
      "inputs": [[390, 0], [391, 0], [392, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4e_double_3x3_0", 
      "inputs": [[393, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_4e_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "256", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(2,2)", 
        "workspace": "1024"
      }, 
      "name": "conv_4e_double_3x3_1", 
      "inputs": [[394, 0], [395, 0], [396, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_4e_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_4e_double_3x3_1", 
      "inputs": [[397, 0], [398, 0], [399, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_4e_double_3x3_1", 
      "inputs": [[400, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "max", 
        "pooling_convention": "valid", 
        "stride": "(2,2)"
      }, 
      "name": "max_pool_4e_pool", 
      "inputs": [[366, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "3"
      }, 
      "name": "ch_concat_4e_chconcat", 
      "inputs": [[380, 0], [401, 0], [402, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "352", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_1x1", 
      "inputs": [[403, 0], [404, 0], [405, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_1x1", 
      "inputs": [[406, 0], [407, 0], [408, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_1x1", 
      "inputs": [[409, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_3x3_reduce", 
      "inputs": [[403, 0], [411, 0], [412, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_3x3_reduce", 
      "inputs": [[413, 0], [414, 0], [415, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_3x3_reduce", 
      "inputs": [[416, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "320", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_3x3", 
      "inputs": [[417, 0], [418, 0], [419, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_3x3", 
      "inputs": [[420, 0], [421, 0], [422, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_3x3", 
      "inputs": [[423, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "160", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_double_3x3_reduce", 
      "inputs": [[403, 0], [425, 0], [426, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_double_3x3_reduce", 
      "inputs": [[427, 0], [428, 0], [429, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_double_3x3_reduce", 
      "inputs": [[430, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "224", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_double_3x3_0", 
      "inputs": [[431, 0], [432, 0], [433, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_double_3x3_0", 
      "inputs": [[434, 0], [435, 0], [436, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_double_3x3_0", 
      "inputs": [[437, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "224", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_double_3x3_1", 
      "inputs": [[438, 0], [439, 0], [440, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_double_3x3_1", 
      "inputs": [[441, 0], [442, 0], [443, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_double_3x3_1", 
      "inputs": [[444, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "avg_pool_5a_pool", 
      "inputs": [[403, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5a_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5a_proj", 
      "inputs": [[446, 0], [447, 0], [448, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5a_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5a_proj", 
      "inputs": [[449, 0], [450, 0], [451, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5a_proj", 
      "inputs": [[452, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_5a_chconcat", 
      "inputs": [[410, 0], [424, 0], [445, 0], [453, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_1x1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_1x1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "352", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_1x1", 
      "inputs": [[454, 0], [455, 0], [456, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_1x1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_1x1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_1x1", 
      "inputs": [[457, 0], [458, 0], [459, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_1x1", 
      "inputs": [[460, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_3x3_reduce", 
      "inputs": [[454, 0], [462, 0], [463, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_3x3_reduce", 
      "inputs": [[464, 0], [465, 0], [466, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_3x3_reduce", 
      "inputs": [[467, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_3x3_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_3x3_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "320", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_3x3", 
      "inputs": [[468, 0], [469, 0], [470, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_3x3_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_3x3_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_3x3", 
      "inputs": [[471, 0], [472, 0], [473, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_3x3", 
      "inputs": [[474, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_reduce_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_reduce_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "192", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_double_3x3_reduce", 
      "inputs": [[454, 0], [476, 0], [477, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_reduce_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_reduce_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_double_3x3_reduce", 
      "inputs": [[478, 0], [479, 0], [480, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_double_3x3_reduce", 
      "inputs": [[481, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_0_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_0_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "224", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_double_3x3_0", 
      "inputs": [[482, 0], [483, 0], [484, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_0_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_0_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_double_3x3_0", 
      "inputs": [[485, 0], [486, 0], [487, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_double_3x3_0", 
      "inputs": [[488, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_double_3x3_1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(3,3)", 
        "no_bias": "False", 
        "num_filter": "224", 
        "num_group": "1", 
        "pad": "(1,1)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_double_3x3_1", 
      "inputs": [[489, 0], [490, 0], [491, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_1_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_double_3x3_1_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_double_3x3_1", 
      "inputs": [[492, 0], [493, 0], [494, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_double_3x3_1", 
      "inputs": [[495, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(3,3)", 
        "pad": "(1,1)", 
        "pool_type": "max", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "max_pool_5b_pool", 
      "inputs": [[454, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_proj_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "conv_5b_proj_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "Convolution", 
      "param": {
        "cudnn_off": "False", 
        "cudnn_tune": "off", 
        "dilate": "(1,1)", 
        "kernel": "(1,1)", 
        "no_bias": "False", 
        "num_filter": "128", 
        "num_group": "1", 
        "pad": "(0,0)", 
        "stride": "(1,1)", 
        "workspace": "1024"
      }, 
      "name": "conv_5b_proj", 
      "inputs": [[497, 0], [498, 0], [499, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_proj_gamma", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "bn_5b_proj_beta", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "BatchNorm", 
      "param": {
        "eps": "1.00001e-05", 
        "fix_gamma": "False", 
        "momentum": "0.9", 
        "use_global_stats": "False"
      }, 
      "name": "bn_5b_proj", 
      "inputs": [[500, 0], [501, 0], [502, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Activation", 
      "param": {"act_type": "relu"}, 
      "name": "relu_5b_proj", 
      "inputs": [[503, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Concat", 
      "param": {
        "dim": "1", 
        "num_args": "4"
      }, 
      "name": "ch_concat_5b_chconcat", 
      "inputs": [[461, 0], [475, 0], [496, 0], [504, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Pooling", 
      "param": {
        "global_pool": "False", 
        "kernel": "(7,7)", 
        "pad": "(0,0)", 
        "pool_type": "avg", 
        "pooling_convention": "valid", 
        "stride": "(1,1)"
      }, 
      "name": "global_pool", 
      "inputs": [[505, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "Flatten", 
      "param": {}, 
      "name": "flatten", 
      "inputs": [[506, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "fc1_weight", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "fc1_bias", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "FullyConnected", 
      "param": {
        "no_bias": "False", 
        "num_hidden": "1000"
      }, 
      "name": "fc1", 
      "inputs": [[507, 0], [508, 0], [509, 0]], 
      "backward_source_id": -1
    }, 
    {
      "op": "null", 
      "param": {}, 
      "name": "softmax_label", 
      "inputs": [], 
      "backward_source_id": -1
    }, 
    {
      "op": "SoftmaxOutput", 
      "param": {
        "grad_scale": "1", 
        "ignore_label": "-1", 
        "multi_output": "False", 
        "normalization": "null", 
        "preserve_shape": "False", 
        "use_ignore": "False"
      }, 
      "name": "softmax", 
      "inputs": [[510, 0], [511, 0]], 
      "backward_source_id": -1
    }
  ], 
  "arg_nodes": [
    0, 
    1, 
    2, 
    4, 
    5, 
    9, 
    10, 
    12, 
    13, 
    16, 
    17, 
    19, 
    20, 
    24, 
    25, 
    27, 
    28, 
    31, 
    32, 
    34, 
    35, 
    38, 
    39, 
    41, 
    42, 
    45, 
    46, 
    48, 
    49, 
    52, 
    53, 
    55, 
    56, 
    59, 
    60, 
    62, 
    63, 
    67, 
    68, 
    70, 
    71, 
    75, 
    76, 
    78, 
    79, 
    82, 
    83, 
    85, 
    86, 
    89, 
    90, 
    92, 
    93, 
    96, 
    97, 
    99, 
    100, 
    103, 
    104, 
    106, 
    107, 
    110, 
    111, 
    113, 
    114, 
    118, 
    119, 
    121, 
    122, 
    126, 
    127, 
    129, 
    130, 
    133, 
    134, 
    136, 
    137, 
    140, 
    141, 
    143, 
    144, 
    147, 
    148, 
    150, 
    151, 
    154, 
    155, 
    157, 
    158, 
    163, 
    164, 
    166, 
    167, 
    170, 
    171, 
    173, 
    174, 
    177, 
    178, 
    180, 
    181, 
    184, 
    185, 
    187, 
    188, 
    191, 
    192, 
    194, 
    195, 
    198, 
    199, 
    201, 
    202, 
    206, 
    207, 
    209, 
    210, 
    214, 
    215, 
    217, 
    218, 
    221, 
    222, 
    224, 
    225, 
    228, 
    229, 
    231, 
    232, 
    235, 
    236, 
    238, 
    239, 
    242, 
    243, 
    245, 
    246, 
    249, 
    250, 
    252, 
    253, 
    257, 
    258, 
    260, 
    261, 
    265, 
    266, 
    268, 
    269, 
    272, 
    273, 
    275, 
    276, 
    279, 
    280, 
    282, 
    283, 
    286, 
    287, 
    289, 
    290, 
    293, 
    294, 
    296, 
    297, 
    300, 
    301, 
    303, 
    304, 
    308, 
    309, 
    311, 
    312, 
    316, 
    317, 
    319, 
    320, 
    323, 
    324, 
    326, 
    327, 
    330, 
    331, 
    333, 
    334, 
    337, 
    338, 
    340, 
    341, 
    344, 
    345, 
    347, 
    348, 
    351, 
    352, 
    354, 
    355, 
    359, 
    360, 
    362, 
    363, 
    367, 
    368, 
    370, 
    371, 
    374, 
    375, 
    377, 
    378, 
    381, 
    382, 
    384, 
    385, 
    388, 
    389, 
    391, 
    392, 
    395, 
    396, 
    398, 
    399, 
    404, 
    405, 
    407, 
    408, 
    411, 
    412, 
    414, 
    415, 
    418, 
    419, 
    421, 
    422, 
    425, 
    426, 
    428, 
    429, 
    432, 
    433, 
    435, 
    436, 
    439, 
    440, 
    442, 
    443, 
    447, 
    448, 
    450, 
    451, 
    455, 
    456, 
    458, 
    459, 
    462, 
    463, 
    465, 
    466, 
    469, 
    470, 
    472, 
    473, 
    476, 
    477, 
    479, 
    480, 
    483, 
    484, 
    486, 
    487, 
    490, 
    491, 
    493, 
    494, 
    498, 
    499, 
    501, 
    502, 
    508, 
    509, 
    511
  ], 
  "heads": [[512, 0]]
}

In [49]:
%%bash
wget http://data.dmlc.ml/mxnet/models/imagenet/resnet/50-layers/resnet-50-symbol.json && wget http://data.dmlc.ml/mxnet/models/imagenet/resnet/50-layers/resnet-50-0000.params


Process is interrupted.

In [62]:
import mxnet as mx

sym, arg_params, aux_params = mx.model.load_checkpoint('resnet-50', 0)

mx.viz.plot_network(sym, node_attrs={"shape":'rect',"fixedsize":'false'}, save_format='png')


Out[62]:
plot data data bn_data bn_data bn_data->data conv0 Convolution 7x7/2x2, 64 conv0->bn_data bn0 bn0 bn0->conv0 relu0 Activation relu relu0->bn0 pooling0 Pooling max, 3x3/2x2 pooling0->relu0 stage1_unit1_bn1 stage1_unit1_bn1 stage1_unit1_bn1->pooling0 stage1_unit1_relu1 Activation relu stage1_unit1_relu1->stage1_unit1_bn1 stage1_unit1_conv1 Convolution 1x1/1x1, 64 stage1_unit1_conv1->stage1_unit1_relu1 stage1_unit1_bn2 stage1_unit1_bn2 stage1_unit1_bn2->stage1_unit1_conv1 stage1_unit1_relu2 Activation relu stage1_unit1_relu2->stage1_unit1_bn2 stage1_unit1_conv2 Convolution 3x3/1x1, 64 stage1_unit1_conv2->stage1_unit1_relu2 stage1_unit1_bn3 stage1_unit1_bn3 stage1_unit1_bn3->stage1_unit1_conv2 stage1_unit1_relu3 Activation relu stage1_unit1_relu3->stage1_unit1_bn3 stage1_unit1_conv3 Convolution 1x1/1x1, 256 stage1_unit1_conv3->stage1_unit1_relu3 stage1_unit1_sc Convolution 1x1/1x1, 256 stage1_unit1_sc->stage1_unit1_relu1 _plus0 _plus0 _plus0->stage1_unit1_conv3 _plus0->stage1_unit1_sc stage1_unit2_bn1 stage1_unit2_bn1 stage1_unit2_bn1->_plus0 stage1_unit2_relu1 Activation relu stage1_unit2_relu1->stage1_unit2_bn1 stage1_unit2_conv1 Convolution 1x1/1x1, 64 stage1_unit2_conv1->stage1_unit2_relu1 stage1_unit2_bn2 stage1_unit2_bn2 stage1_unit2_bn2->stage1_unit2_conv1 stage1_unit2_relu2 Activation relu stage1_unit2_relu2->stage1_unit2_bn2 stage1_unit2_conv2 Convolution 3x3/1x1, 64 stage1_unit2_conv2->stage1_unit2_relu2 stage1_unit2_bn3 stage1_unit2_bn3 stage1_unit2_bn3->stage1_unit2_conv2 stage1_unit2_relu3 Activation relu stage1_unit2_relu3->stage1_unit2_bn3 stage1_unit2_conv3 Convolution 1x1/1x1, 256 stage1_unit2_conv3->stage1_unit2_relu3 _plus1 _plus1 _plus1->_plus0 _plus1->stage1_unit2_conv3 stage1_unit3_bn1 stage1_unit3_bn1 stage1_unit3_bn1->_plus1 stage1_unit3_relu1 Activation relu stage1_unit3_relu1->stage1_unit3_bn1 stage1_unit3_conv1 Convolution 1x1/1x1, 64 stage1_unit3_conv1->stage1_unit3_relu1 stage1_unit3_bn2 stage1_unit3_bn2 stage1_unit3_bn2->stage1_unit3_conv1 stage1_unit3_relu2 Activation relu stage1_unit3_relu2->stage1_unit3_bn2 stage1_unit3_conv2 Convolution 3x3/1x1, 64 stage1_unit3_conv2->stage1_unit3_relu2 stage1_unit3_bn3 stage1_unit3_bn3 stage1_unit3_bn3->stage1_unit3_conv2 stage1_unit3_relu3 Activation relu stage1_unit3_relu3->stage1_unit3_bn3 stage1_unit3_conv3 Convolution 1x1/1x1, 256 stage1_unit3_conv3->stage1_unit3_relu3 _plus2 _plus2 _plus2->_plus1 _plus2->stage1_unit3_conv3 stage2_unit1_bn1 stage2_unit1_bn1 stage2_unit1_bn1->_plus2 stage2_unit1_relu1 Activation relu stage2_unit1_relu1->stage2_unit1_bn1 stage2_unit1_conv1 Convolution 1x1/1x1, 128 stage2_unit1_conv1->stage2_unit1_relu1 stage2_unit1_bn2 stage2_unit1_bn2 stage2_unit1_bn2->stage2_unit1_conv1 stage2_unit1_relu2 Activation relu stage2_unit1_relu2->stage2_unit1_bn2 stage2_unit1_conv2 Convolution 3x3/2x2, 128 stage2_unit1_conv2->stage2_unit1_relu2 stage2_unit1_bn3 stage2_unit1_bn3 stage2_unit1_bn3->stage2_unit1_conv2 stage2_unit1_relu3 Activation relu stage2_unit1_relu3->stage2_unit1_bn3 stage2_unit1_conv3 Convolution 1x1/1x1, 512 stage2_unit1_conv3->stage2_unit1_relu3 stage2_unit1_sc Convolution 1x1/2x2, 512 stage2_unit1_sc->stage2_unit1_relu1 _plus3 _plus3 _plus3->stage2_unit1_conv3 _plus3->stage2_unit1_sc stage2_unit2_bn1 stage2_unit2_bn1 stage2_unit2_bn1->_plus3 stage2_unit2_relu1 Activation relu stage2_unit2_relu1->stage2_unit2_bn1 stage2_unit2_conv1 Convolution 1x1/1x1, 128 stage2_unit2_conv1->stage2_unit2_relu1 stage2_unit2_bn2 stage2_unit2_bn2 stage2_unit2_bn2->stage2_unit2_conv1 stage2_unit2_relu2 Activation relu stage2_unit2_relu2->stage2_unit2_bn2 stage2_unit2_conv2 Convolution 3x3/1x1, 128 stage2_unit2_conv2->stage2_unit2_relu2 stage2_unit2_bn3 stage2_unit2_bn3 stage2_unit2_bn3->stage2_unit2_conv2 stage2_unit2_relu3 Activation relu stage2_unit2_relu3->stage2_unit2_bn3 stage2_unit2_conv3 Convolution 1x1/1x1, 512 stage2_unit2_conv3->stage2_unit2_relu3 _plus4 _plus4 _plus4->_plus3 _plus4->stage2_unit2_conv3 stage2_unit3_bn1 stage2_unit3_bn1 stage2_unit3_bn1->_plus4 stage2_unit3_relu1 Activation relu stage2_unit3_relu1->stage2_unit3_bn1 stage2_unit3_conv1 Convolution 1x1/1x1, 128 stage2_unit3_conv1->stage2_unit3_relu1 stage2_unit3_bn2 stage2_unit3_bn2 stage2_unit3_bn2->stage2_unit3_conv1 stage2_unit3_relu2 Activation relu stage2_unit3_relu2->stage2_unit3_bn2 stage2_unit3_conv2 Convolution 3x3/1x1, 128 stage2_unit3_conv2->stage2_unit3_relu2 stage2_unit3_bn3 stage2_unit3_bn3 stage2_unit3_bn3->stage2_unit3_conv2 stage2_unit3_relu3 Activation relu stage2_unit3_relu3->stage2_unit3_bn3 stage2_unit3_conv3 Convolution 1x1/1x1, 512 stage2_unit3_conv3->stage2_unit3_relu3 _plus5 _plus5 _plus5->_plus4 _plus5->stage2_unit3_conv3 stage2_unit4_bn1 stage2_unit4_bn1 stage2_unit4_bn1->_plus5 stage2_unit4_relu1 Activation relu stage2_unit4_relu1->stage2_unit4_bn1 stage2_unit4_conv1 Convolution 1x1/1x1, 128 stage2_unit4_conv1->stage2_unit4_relu1 stage2_unit4_bn2 stage2_unit4_bn2 stage2_unit4_bn2->stage2_unit4_conv1 stage2_unit4_relu2 Activation relu stage2_unit4_relu2->stage2_unit4_bn2 stage2_unit4_conv2 Convolution 3x3/1x1, 128 stage2_unit4_conv2->stage2_unit4_relu2 stage2_unit4_bn3 stage2_unit4_bn3 stage2_unit4_bn3->stage2_unit4_conv2 stage2_unit4_relu3 Activation relu stage2_unit4_relu3->stage2_unit4_bn3 stage2_unit4_conv3 Convolution 1x1/1x1, 512 stage2_unit4_conv3->stage2_unit4_relu3 _plus6 _plus6 _plus6->_plus5 _plus6->stage2_unit4_conv3 stage3_unit1_bn1 stage3_unit1_bn1 stage3_unit1_bn1->_plus6 stage3_unit1_relu1 Activation relu stage3_unit1_relu1->stage3_unit1_bn1 stage3_unit1_conv1 Convolution 1x1/1x1, 256 stage3_unit1_conv1->stage3_unit1_relu1 stage3_unit1_bn2 stage3_unit1_bn2 stage3_unit1_bn2->stage3_unit1_conv1 stage3_unit1_relu2 Activation relu stage3_unit1_relu2->stage3_unit1_bn2 stage3_unit1_conv2 Convolution 3x3/2x2, 256 stage3_unit1_conv2->stage3_unit1_relu2 stage3_unit1_bn3 stage3_unit1_bn3 stage3_unit1_bn3->stage3_unit1_conv2 stage3_unit1_relu3 Activation relu stage3_unit1_relu3->stage3_unit1_bn3 stage3_unit1_conv3 Convolution 1x1/1x1, 1024 stage3_unit1_conv3->stage3_unit1_relu3 stage3_unit1_sc Convolution 1x1/2x2, 1024 stage3_unit1_sc->stage3_unit1_relu1 _plus7 _plus7 _plus7->stage3_unit1_conv3 _plus7->stage3_unit1_sc stage3_unit2_bn1 stage3_unit2_bn1 stage3_unit2_bn1->_plus7 stage3_unit2_relu1 Activation relu stage3_unit2_relu1->stage3_unit2_bn1 stage3_unit2_conv1 Convolution 1x1/1x1, 256 stage3_unit2_conv1->stage3_unit2_relu1 stage3_unit2_bn2 stage3_unit2_bn2 stage3_unit2_bn2->stage3_unit2_conv1 stage3_unit2_relu2 Activation relu stage3_unit2_relu2->stage3_unit2_bn2 stage3_unit2_conv2 Convolution 3x3/1x1, 256 stage3_unit2_conv2->stage3_unit2_relu2 stage3_unit2_bn3 stage3_unit2_bn3 stage3_unit2_bn3->stage3_unit2_conv2 stage3_unit2_relu3 Activation relu stage3_unit2_relu3->stage3_unit2_bn3 stage3_unit2_conv3 Convolution 1x1/1x1, 1024 stage3_unit2_conv3->stage3_unit2_relu3 _plus8 _plus8 _plus8->_plus7 _plus8->stage3_unit2_conv3 stage3_unit3_bn1 stage3_unit3_bn1 stage3_unit3_bn1->_plus8 stage3_unit3_relu1 Activation relu stage3_unit3_relu1->stage3_unit3_bn1 stage3_unit3_conv1 Convolution 1x1/1x1, 256 stage3_unit3_conv1->stage3_unit3_relu1 stage3_unit3_bn2 stage3_unit3_bn2 stage3_unit3_bn2->stage3_unit3_conv1 stage3_unit3_relu2 Activation relu stage3_unit3_relu2->stage3_unit3_bn2 stage3_unit3_conv2 Convolution 3x3/1x1, 256 stage3_unit3_conv2->stage3_unit3_relu2 stage3_unit3_bn3 stage3_unit3_bn3 stage3_unit3_bn3->stage3_unit3_conv2 stage3_unit3_relu3 Activation relu stage3_unit3_relu3->stage3_unit3_bn3 stage3_unit3_conv3 Convolution 1x1/1x1, 1024 stage3_unit3_conv3->stage3_unit3_relu3 _plus9 _plus9 _plus9->_plus8 _plus9->stage3_unit3_conv3 stage3_unit4_bn1 stage3_unit4_bn1 stage3_unit4_bn1->_plus9 stage3_unit4_relu1 Activation relu stage3_unit4_relu1->stage3_unit4_bn1 stage3_unit4_conv1 Convolution 1x1/1x1, 256 stage3_unit4_conv1->stage3_unit4_relu1 stage3_unit4_bn2 stage3_unit4_bn2 stage3_unit4_bn2->stage3_unit4_conv1 stage3_unit4_relu2 Activation relu stage3_unit4_relu2->stage3_unit4_bn2 stage3_unit4_conv2 Convolution 3x3/1x1, 256 stage3_unit4_conv2->stage3_unit4_relu2 stage3_unit4_bn3 stage3_unit4_bn3 stage3_unit4_bn3->stage3_unit4_conv2 stage3_unit4_relu3 Activation relu stage3_unit4_relu3->stage3_unit4_bn3 stage3_unit4_conv3 Convolution 1x1/1x1, 1024 stage3_unit4_conv3->stage3_unit4_relu3 _plus10 _plus10 _plus10->_plus9 _plus10->stage3_unit4_conv3 stage3_unit5_bn1 stage3_unit5_bn1 stage3_unit5_bn1->_plus10 stage3_unit5_relu1 Activation relu stage3_unit5_relu1->stage3_unit5_bn1 stage3_unit5_conv1 Convolution 1x1/1x1, 256 stage3_unit5_conv1->stage3_unit5_relu1 stage3_unit5_bn2 stage3_unit5_bn2 stage3_unit5_bn2->stage3_unit5_conv1 stage3_unit5_relu2 Activation relu stage3_unit5_relu2->stage3_unit5_bn2 stage3_unit5_conv2 Convolution 3x3/1x1, 256 stage3_unit5_conv2->stage3_unit5_relu2 stage3_unit5_bn3 stage3_unit5_bn3 stage3_unit5_bn3->stage3_unit5_conv2 stage3_unit5_relu3 Activation relu stage3_unit5_relu3->stage3_unit5_bn3 stage3_unit5_conv3 Convolution 1x1/1x1, 1024 stage3_unit5_conv3->stage3_unit5_relu3 _plus11 _plus11 _plus11->_plus10 _plus11->stage3_unit5_conv3 stage3_unit6_bn1 stage3_unit6_bn1 stage3_unit6_bn1->_plus11 stage3_unit6_relu1 Activation relu stage3_unit6_relu1->stage3_unit6_bn1 stage3_unit6_conv1 Convolution 1x1/1x1, 256 stage3_unit6_conv1->stage3_unit6_relu1 stage3_unit6_bn2 stage3_unit6_bn2 stage3_unit6_bn2->stage3_unit6_conv1 stage3_unit6_relu2 Activation relu stage3_unit6_relu2->stage3_unit6_bn2 stage3_unit6_conv2 Convolution 3x3/1x1, 256 stage3_unit6_conv2->stage3_unit6_relu2 stage3_unit6_bn3 stage3_unit6_bn3 stage3_unit6_bn3->stage3_unit6_conv2 stage3_unit6_relu3 Activation relu stage3_unit6_relu3->stage3_unit6_bn3 stage3_unit6_conv3 Convolution 1x1/1x1, 1024 stage3_unit6_conv3->stage3_unit6_relu3 _plus12 _plus12 _plus12->_plus11 _plus12->stage3_unit6_conv3 stage4_unit1_bn1 stage4_unit1_bn1 stage4_unit1_bn1->_plus12 stage4_unit1_relu1 Activation relu stage4_unit1_relu1->stage4_unit1_bn1 stage4_unit1_conv1 Convolution 1x1/1x1, 512 stage4_unit1_conv1->stage4_unit1_relu1 stage4_unit1_bn2 stage4_unit1_bn2 stage4_unit1_bn2->stage4_unit1_conv1 stage4_unit1_relu2 Activation relu stage4_unit1_relu2->stage4_unit1_bn2 stage4_unit1_conv2 Convolution 3x3/2x2, 512 stage4_unit1_conv2->stage4_unit1_relu2 stage4_unit1_bn3 stage4_unit1_bn3 stage4_unit1_bn3->stage4_unit1_conv2 stage4_unit1_relu3 Activation relu stage4_unit1_relu3->stage4_unit1_bn3 stage4_unit1_conv3 Convolution 1x1/1x1, 2048 stage4_unit1_conv3->stage4_unit1_relu3 stage4_unit1_sc Convolution 1x1/2x2, 2048 stage4_unit1_sc->stage4_unit1_relu1 _plus13 _plus13 _plus13->stage4_unit1_conv3 _plus13->stage4_unit1_sc stage4_unit2_bn1 stage4_unit2_bn1 stage4_unit2_bn1->_plus13 stage4_unit2_relu1 Activation relu stage4_unit2_relu1->stage4_unit2_bn1 stage4_unit2_conv1 Convolution 1x1/1x1, 512 stage4_unit2_conv1->stage4_unit2_relu1 stage4_unit2_bn2 stage4_unit2_bn2 stage4_unit2_bn2->stage4_unit2_conv1 stage4_unit2_relu2 Activation relu stage4_unit2_relu2->stage4_unit2_bn2 stage4_unit2_conv2 Convolution 3x3/1x1, 512 stage4_unit2_conv2->stage4_unit2_relu2 stage4_unit2_bn3 stage4_unit2_bn3 stage4_unit2_bn3->stage4_unit2_conv2 stage4_unit2_relu3 Activation relu stage4_unit2_relu3->stage4_unit2_bn3 stage4_unit2_conv3 Convolution 1x1/1x1, 2048 stage4_unit2_conv3->stage4_unit2_relu3 _plus14 _plus14 _plus14->_plus13 _plus14->stage4_unit2_conv3 stage4_unit3_bn1 stage4_unit3_bn1 stage4_unit3_bn1->_plus14 stage4_unit3_relu1 Activation relu stage4_unit3_relu1->stage4_unit3_bn1 stage4_unit3_conv1 Convolution 1x1/1x1, 512 stage4_unit3_conv1->stage4_unit3_relu1 stage4_unit3_bn2 stage4_unit3_bn2 stage4_unit3_bn2->stage4_unit3_conv1 stage4_unit3_relu2 Activation relu stage4_unit3_relu2->stage4_unit3_bn2 stage4_unit3_conv2 Convolution 3x3/1x1, 512 stage4_unit3_conv2->stage4_unit3_relu2 stage4_unit3_bn3 stage4_unit3_bn3 stage4_unit3_bn3->stage4_unit3_conv2 stage4_unit3_relu3 Activation relu stage4_unit3_relu3->stage4_unit3_bn3 stage4_unit3_conv3 Convolution 1x1/1x1, 2048 stage4_unit3_conv3->stage4_unit3_relu3 _plus15 _plus15 _plus15->_plus14 _plus15->stage4_unit3_conv3 bn1 bn1 bn1->_plus15 relu1 Activation relu relu1->bn1 pool1 Pooling avg, 7x7/1x1 pool1->relu1 flatten0 flatten0 flatten0->pool1 fc1 FullyConnected 1000 fc1->flatten0 softmax_label softmax_label softmax softmax softmax->fc1 softmax->softmax_label

In [55]:
import mxnet as mx
user = mx.symbol.Variable('user')
item = mx.symbol.Variable('item')
score = mx.symbol.Variable('score')

# Set dummy dimensions
k = 64
max_user = 100
max_item = 50

# user feature lookup
user = mx.symbol.Embedding(data = user, input_dim = max_user, output_dim = k)

# item feature lookup
item = mx.symbol.Embedding(data = item, input_dim = max_item, output_dim = k)

# predict by the inner product, which is elementwise product and then sum
net = user * item
net = mx.symbol.sum_axis(data = net, axis = 1)
net = mx.symbol.Flatten(data = net)

# loss layer
net = mx.symbol.LinearRegressionOutput(data = net, label = score)

# Visualize your network
mx.viz.plot_network(net)


Out[55]:
plot user user embedding0 embedding0 embedding0->user item item embedding1 embedding1 embedding1->item _mul0 _mul0 _mul0->embedding0 _mul0->embedding1 sum_axis0 sum_axis0 sum_axis0->_mul0 flatten0 flatten0 flatten0->sum_axis0 score score linearregressionoutput0 linearregressionoutput0 linearregressionoutput0->flatten0 linearregressionoutput0->score

In [ ]: