text: input:"data"
  input_dim:1
  input_dim:1
  input_dim:1000
  input_dim:1000
  
  layer {
    name: "Down"
    type: "Dtow"
    bottom: "data"
    top: "Down"
    dtow_param {
      psize: 4
      method: MWTOD
    } 
  }
  
  layer {
    name: "conv1"
    type: "Convolution"
    bottom: "Down"
    top: "conv1"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "conv2"
    type: "Convolution"
    bottom: "conv1"
    top: "conv2"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu2"
    type: "ReLU"
    bottom: "conv2"
    top: "conv2"
  }
  
  layer {
    name: "conv3"
    type: "Convolution"
    bottom: "conv2"
    top: "conv3"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum1"
    type: "Eltwise"
    bottom: "conv1"
    bottom: "conv3"
    top: "sum1"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv4"
    type: "Convolution"
    bottom: "sum1"
    top: "conv4"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu4"
    type: "ReLU"
    bottom: "conv4"
    top: "conv4"
  }
  
  layer {
    name: "conv5"
    type: "Convolution"
    bottom: "conv4"
    top: "conv5"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum2"
    type: "Eltwise"
    bottom: "sum1"
    bottom: "conv5"
    top: "sum2"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv6"
    type: "Convolution"
    bottom: "sum2"
    top: "conv6"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu6"
    type: "ReLU"
    bottom: "conv6"
    top: "conv6"
  }
  
  layer {
    name: "conv7"
    type: "Convolution"
    bottom: "conv6"
    top: "conv7"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum3"
    type: "Eltwise"
    bottom: "sum2"
    bottom: "conv7"
    top: "sum3"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv8"
    type: "Convolution"
    bottom: "sum3"
    top: "conv8"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu8"
    type: "ReLU"
    bottom: "conv8"
    top: "conv8"
  }
  
  layer {
    name: "conv9"
    type: "Convolution"
    bottom: "conv8"
    top: "conv9"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum4"
    type: "Eltwise"
    bottom: "sum3"
    bottom: "conv9"
    top: "sum4"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv10"
    type: "Convolution"
    bottom: "sum4"
    top: "conv10"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu10"
    type: "ReLU"
    bottom: "conv10"
    top: "conv10"
  }
  
  layer {
    name: "conv11"
    type: "Convolution"
    bottom: "conv10"
    top: "conv11"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum5"
    type: "Eltwise"
    bottom: "sum4"
    bottom: "conv11"
    top: "sum5"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv12"
    type: "Convolution"
    bottom: "sum5"
    top: "conv12"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu12"
    type: "ReLU"
    bottom: "conv12"
    top: "conv12"
  }
  
  layer {
    name: "conv13"
    type: "Convolution"
    bottom: "conv12"
    top: "conv13"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum6"
    type: "Eltwise"
    bottom: "sum5"
    bottom: "conv13"
    top: "sum6"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv14"
    type: "Convolution"
    bottom: "sum6"
    top: "conv14"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu14"
    type: "ReLU"
    bottom: "conv14"
    top: "conv14"
  }
  
  layer {
    name: "conv15"
    type: "Convolution"
    bottom: "conv14"
    top: "conv15"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum7"
    type: "Eltwise"
    bottom: "sum6"
    bottom: "conv15"
    top: "sum7"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv16"
    type: "Convolution"
    bottom: "sum7"
    top: "conv16"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu16"
    type: "ReLU"
    bottom: "conv16"
    top: "conv16"
  }
  
  layer {
    name: "conv17"
    type: "Convolution"
    bottom: "conv16"
    top: "conv17"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum8"
    type: "Eltwise"
    bottom: "sum7"
    bottom: "conv17"
    top: "sum8"
    eltwise_param {
      operation: SUM
       coeff: 1
       coeff: 1
    }
  }
  
  layer {
    name: "conv18"
    type: "Convolution"
    bottom: "sum8"
    top: "conv18"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu18"
    type: "ReLU"
    bottom: "conv18"
    top: "conv18"
  }
  
  layer {
    name: "conv19"
    type: "Convolution"
    bottom: "conv18"
    top: "conv19"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum9"
    type: "Eltwise"
    bottom: "sum8"
    bottom: "conv19"
    top: "sum9"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv20"
    type: "Convolution"
    bottom: "sum9"
    top: "conv20"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu20"
    type: "ReLU"
    bottom: "conv20"
    top: "conv20"
  }
  
  layer {
    name: "conv21"
    type: "Convolution"
    bottom: "conv20"
    top: "conv21"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum10"
    type: "Eltwise"
    bottom: "sum9"
    bottom: "conv21"
    top: "sum10"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv22"
    type: "Convolution"
    bottom: "sum10"
    top: "conv22"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu22"
    type: "ReLU"
    bottom: "conv22"
    top: "conv22"
  }
  
  layer {
    name: "conv23"
    type: "Convolution"
    bottom: "conv22"
    top: "conv23"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum11"
    type: "Eltwise"
    bottom: "sum10"
    bottom: "conv23"
    top: "sum11"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv24"
    type: "Convolution"
    bottom: "sum11"
    top: "conv24"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu24"
    type: "ReLU"
    bottom: "conv24"
    top: "conv24"
  }
  
  layer {
    name: "conv25"
    type: "Convolution"
    bottom: "conv24"
    top: "conv25"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum12"
    type: "Eltwise"
    bottom: "sum11"
    bottom: "conv25"
    top: "sum12"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv26"
    type: "Convolution"
    bottom: "sum12"
    top: "conv26"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu26"
    type: "ReLU"
    bottom: "conv26"
    top: "conv26"
  }
  
  layer {
    name: "conv27"
    type: "Convolution"
    bottom: "conv26"
    top: "conv27"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum13"
    type: "Eltwise"
    bottom: "sum12"
    bottom: "conv27"
    top: "sum13"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv28"
    type: "Convolution"
    bottom: "sum13"
    top: "conv28"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu28"
    type: "ReLU"
    bottom: "conv28"
    top: "conv28"
  }
  
  layer {
    name: "conv29"
    type: "Convolution"
    bottom: "conv28"
    top: "conv29"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum14"
    type: "Eltwise"
    bottom: "sum13"
    bottom: "conv29"
    top: "sum14"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv30"
    type: "Convolution"
    bottom: "sum14"
    top: "conv30"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu30"
    type: "ReLU"
    bottom: "conv30"
    top: "conv30"
  }
  
  layer {
    name: "conv31"
    type: "Convolution"
    bottom: "conv30"
    top: "conv31"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum15"
    type: "Eltwise"
    bottom: "sum14"
    bottom: "conv31"
    top: "sum15"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv32"
    type: "Convolution"
    bottom: "sum15"
    top: "conv32"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu32"
    type: "ReLU"
    bottom: "conv32"
    top: "conv32"
  }
  
  layer {
    name: "conv33"
    type: "Convolution"
    bottom: "conv32"
    top: "conv33"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum16"
    type: "Eltwise"
    bottom: "sum15"
    bottom: "conv33"
    top: "sum16"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "conv34"
    type: "Convolution"
    bottom: "sum16"
    top: "conv34"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "sum17"
    type: "Eltwise"
    bottom: "conv1"
    bottom: "conv34"
    top: "sum17"
    eltwise_param {
      operation: SUM
      coeff: 1
      coeff: 1
    }
  }
  
  layer {
    name: "Up"
    type: "Dtow"
    bottom: "sum17"
    top: "Up"
    dtow_param {
      psize: 4
    } 
  }
  
  layer {
    name: "conv35"
    type: "Convolution"
    bottom: "Up"
    top: "conv35"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu35"
    type: "ReLU"
    bottom: "conv35"
    top: "conv35"
  }
  
  
  layer {
    name: "conv36"
    type: "Convolution"
    bottom: "conv35"
    top: "conv36"
    param {
        lr_mult: 1
    }
    param {
        lr_mult: 0.1
    }
    convolution_param {
      num_output: 64
      kernel_size: 3
      stride: 1
      pad: 1     
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      }
    }
  }
  
  layer {
    name: "relu36"
    type: "ReLU"
    bottom: "conv36"
    top: "conv36"
  }
  
  layer {
    name: "Kernel"
    type: "Convolution"
    bottom: "conv36"
    top: "Kernel"
    param {
      lr_mult: 1
    }
    param {
      lr_mult: 0.1
    }
    convolution_param {
      num_output: 361
      kernel_size: 3
      stride: 1
      pad: 1        
      weight_filler {
        type: "msra"
      }
      bias_filler {
        type: "constant"
      } 
   }
  }
  
  layer {
    name: "Pixel"
    type: "PixelConv"
    bottom: "Kernel"
    bottom: "data"
    top: "Pixel"
  }
  