name: "Convolutional Neural Network" input: "Images (1000x1x28x28)" input_dim: 1000 input_dim: 3 input_dim: 28 input_dim: 28 layer { bottom: "Images (1000x1x28x28)" top: "Conv2d (1000x64x28x28)" name: "Conv2d (1000x64x28x28)" type: "Convolution" convolution_param { num_output: 64 kernel_size: 5 stride: 1 pad: 2 } } layer { bottom: "Conv2d (1000x64x28x28)" top: "Conv2d (1000x64x28x28)" name: "BatchNorm 1" type: "BatchNorm" batch_norm_param { use_global_stats: true } } layer { bottom: "Conv2d (1000x64x28x28)" top: "Conv2d (1000x64x28x28)" name: "ReLU 1" type: "ReLU" } layer { bottom: "Conv2d (1000x64x28x28)" top: "Conv2d (1000x64x28x28)" name: "MaxPool 1 (1000x64x14x14)" type: "Pooling" pooling_param { kernel_size: 3 stride: 2 pool: MAX } } layer { bottom: "Conv2d (1000x64x28x28)" top: "Conv2d (1000x128x14x14)" name: "Conv2d (1000x128x14x14)" type: "Convolution" convolution_param { num_output: 128 kernel_size: 1 pad: 0 stride: 1 bias_term: false } } layer { bottom: "Conv2d (1000x128x14x14)" top: "Conv2d (1000x128x14x14)" name: "BatchNorm 2" type: "BatchNorm" batch_norm_param { use_global_stats: true } } layer { bottom: "Conv2d (1000x128x14x14)" top: "Conv2d (1000x128x14x14)" name: "ReLU 2" type: "ReLU" } layer { bottom: "Conv2d (1000x128x14x14)" top: "Conv2d (1000x128x14x14)" name: "MaxPool 2 (1000x128x7x7)" type: "Pooling" pooling_param { kernel_size: 3 stride: 2 pool: MAX } } layer { bottom: "Conv2d (1000x128x14x14)" top: "Flatten (1000x6272)" name: "Flatten (1000x6272)" type: "InnerProduct" inner_product_param { num_output: 6272 } } layer { bottom: "Flatten (1000x6272)" top: "Linear (1000x10)" name: "Linear (1000x10)" type: "InnerProduct" inner_product_param { num_output: 10 } } layer { bottom: "Linear (1000x10)" top: "Softmax" name: "Softmax" type: "Softmax" }