|
node { |
|
name: "conv1/XavierFill" |
|
op: "XavierFill" |
|
device: "/gpu:0" |
|
attr { |
|
key: "_output_shapes" |
|
value { |
|
list { |
|
shape { |
|
dim { |
|
size: 96 |
|
} |
|
dim { |
|
size: 3 |
|
} |
|
dim { |
|
size: 11 |
|
} |
|
dim { |
|
size: 11 |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
node { |
|
name: "conv1/ConstantFill" |
|
op: "ConstantFill" |
|
device: "/gpu:0" |
|
attr { |
|
key: "_output_shapes" |
|
value { |
|
list { |
|
shape { |
|
dim { |
|
size: 96 |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
node { |
|
name: "classifier/XavierFill" |
|
op: "XavierFill" |
|
device: "/gpu:0" |
|
attr { |
|
key: "_output_shapes" |
|
value { |
|
list { |
|
shape { |
|
dim { |
|
size: 1000 |
|
} |
|
dim { |
|
size: 4096 |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
node { |
|
name: "classifier/ConstantFill" |
|
op: "ConstantFill" |
|
device: "/gpu:0" |
|
attr { |
|
key: "_output_shapes" |
|
value { |
|
list { |
|
shape { |
|
dim { |
|
size: 1000 |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
node { |
|
name: "ImageInput" |
|
op: "ImageInput" |
|
input: "db" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "is_test" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "use_cudnn" |
|
value { |
|
i: 1 |
|
} |
|
} |
|
} |
|
node { |
|
name: "NHWC2NCHW" |
|
op: "NHWC2NCHW" |
|
input: "data_nhwc" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/Conv" |
|
op: "Conv" |
|
input: "data" |
|
input: "conv1/conv1_w" |
|
input: "conv1/conv1_b" |
|
device: "/gpu:0" |
|
attr { |
|
key: "exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "kernel" |
|
value { |
|
i: 11 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "stride" |
|
value { |
|
i: 4 |
|
} |
|
} |
|
} |
|
node { |
|
name: "conv1/Relu" |
|
op: "Relu" |
|
input: "conv1/conv1" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
} |
|
node { |
|
name: "conv1/MaxPool" |
|
op: "MaxPool" |
|
input: "conv1/conv1_1" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "kernel" |
|
value { |
|
i: 2 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "stride" |
|
value { |
|
i: 2 |
|
} |
|
} |
|
} |
|
node { |
|
name: "classifier/FC" |
|
op: "FC" |
|
input: "conv1/pool1" |
|
input: "classifier/fc_w" |
|
input: "classifier/fc_b" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "use_cudnn" |
|
value { |
|
i: 1 |
|
} |
|
} |
|
} |
|
node { |
|
name: "classifier/Softmax" |
|
op: "Softmax" |
|
input: "classifier/fc" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
} |
|
node { |
|
name: "classifier/LabelCrossEntropy" |
|
op: "LabelCrossEntropy" |
|
input: "classifier/pred" |
|
input: "label" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/AveragedLoss" |
|
op: "AveragedLoss" |
|
input: "classifier/xent" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/ConstantFill" |
|
op: "ConstantFill" |
|
input: "classifier/loss" |
|
device: "/gpu:0" |
|
attr { |
|
key: "value" |
|
value { |
|
f: 1.0 |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/AveragedLossGradient" |
|
op: "AveragedLossGradient" |
|
input: "classifier/xent" |
|
input: "GRADIENTS/classifier/loss_autogen_grad" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/LabelCrossEntropyGradient" |
|
op: "LabelCrossEntropyGradient" |
|
input: "classifier/pred" |
|
input: "label" |
|
input: "GRADIENTS/classifier/xent_grad" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/SoftmaxGradient" |
|
op: "SoftmaxGradient" |
|
input: "classifier/pred" |
|
input: "GRADIENTS/classifier/pred_grad" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/c/FCGradient" |
|
op: "FCGradient" |
|
input: "conv1/pool1" |
|
input: "classifier/fc_w" |
|
input: "GRADIENTS/classifier/fc_grad" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "use_cudnn" |
|
value { |
|
i: 1 |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/MaxPoolGradient" |
|
op: "MaxPoolGradient" |
|
input: "conv1/conv1_1" |
|
input: "conv1/pool1" |
|
input: "GRADIENTS/conv1/pool1_grad" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "kernel" |
|
value { |
|
i: 2 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "stride" |
|
value { |
|
i: 2 |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/ReluGradient" |
|
op: "ReluGradient" |
|
input: "conv1/conv1_1" |
|
input: "GRADIENTS/conv1/conv1_grad" |
|
device: "/gpu:0" |
|
attr { |
|
key: "cudnn_exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/ConvGradient" |
|
op: "ConvGradient" |
|
input: "data" |
|
input: "conv1/conv1_w" |
|
input: "GRADIENTS/conv1/conv1_grad_1" |
|
device: "/gpu:0" |
|
attr { |
|
key: "exhaustive_search" |
|
value { |
|
i: 0 |
|
} |
|
} |
|
attr { |
|
key: "kernel" |
|
value { |
|
i: 11 |
|
} |
|
} |
|
attr { |
|
key: "order" |
|
value { |
|
s: "NCHW" |
|
} |
|
} |
|
attr { |
|
key: "stride" |
|
value { |
|
i: 4 |
|
} |
|
} |
|
} |
|
node { |
|
name: "GRADIENTS/NCHW2NHWC" |
|
op: "NCHW2NHWC" |
|
input: "GRADIENTS/data_grad" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/conv1_w" |
|
op: "Blob" |
|
input: "conv1/XavierFill:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/fc" |
|
op: "Blob" |
|
input: "classifier/FC:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "data_nhwc" |
|
op: "Blob" |
|
input: "ImageInput:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/conv1_b_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/ConvGradient:1" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/pred_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/classifier/LabelCrossEntropyGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/fc_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/classifier/SoftmaxGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/conv1_b" |
|
op: "Blob" |
|
input: "conv1/ConstantFill:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/fc_b_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/c/FCGradient:1" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/fc_w_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/c/FCGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "label" |
|
op: "Blob" |
|
input: "ImageInput:1" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/data_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/ConvGradient:2" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/loss" |
|
op: "Blob" |
|
input: "classifier/AveragedLoss:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/conv1" |
|
op: "Blob" |
|
input: "conv1/Conv:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/conv1_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/conv1/MaxPoolGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/xent" |
|
op: "Blob" |
|
input: "classifier/LabelCrossEntropy:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/loss_autogen_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/classifier/ConstantFill:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/fc_w" |
|
op: "Blob" |
|
input: "classifier/XavierFill:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/conv1_1" |
|
op: "Blob" |
|
input: "conv1/Relu:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "db" |
|
op: "Placeholder" |
|
} |
|
node { |
|
name: "classifier/pred" |
|
op: "Blob" |
|
input: "classifier/Softmax:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "classifier/fc_b" |
|
op: "Blob" |
|
input: "classifier/ConstantFill:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/classifier/xent_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/classifier/AveragedLossGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "data" |
|
op: "Blob" |
|
input: "NHWC2NCHW:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/conv1_w_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/ConvGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/conv1_grad_1" |
|
op: "Blob" |
|
input: "GRADIENTS/conv1/ReluGradient:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/data_nhwc_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/NCHW2NHWC:0" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "GRADIENTS/conv1/pool1_grad" |
|
op: "Blob" |
|
input: "GRADIENTS/c/FCGradient:2" |
|
device: "/gpu:0" |
|
} |
|
node { |
|
name: "conv1/pool1" |
|
op: "Blob" |
|
input: "conv1/MaxPool:0" |
|
device: "/gpu:0" |
|
} |
|
""" |
|
|
|
|