title: Getting error on [base_conv_layer.cpp:122] Check failed: channels_ % group_ == 0 (1 vs. 0) , how to solve it?
body: <p>When I am trying to train <code>FCN32</code> for <a href="https://github.com/yawaterss/caffe-pascalcontext-fcn32s" rel="nofollow noreferrer">semantic segmentation</a> on my own data, I am getting this error:</p>
  
  <pre><code>    I0106 12:57:53.273977 19825 net.cpp:100] Creating Layer upscore_sign 
      I0106 12:57:53.273982 19825 net.cpp:434] upscore_sign &lt;- score_fr_sign
      I0106 12:57:53.274001 19825 net.cpp:408] upscore_sign -&gt; upscore_sign
      F0106 12:57:53.274119 19825 base_conv_layer.cpp:122] Check failed: channels_ % group_ == 0 (1 vs. 0) 
      *** Check failure stack trace: ***
          @     0x7f2602e525cd  google::LogMessage::Fail()
          @     0x7f2602e54433  google::LogMessage::SendToLog()
          @     0x7f2602e5215b  google::LogMessage::Flush()
          @     0x7f2602e54e1e  google::LogMessageFatal::~LogMessageFatal()
          @     0x7f260350701b  caffe::BaseConvolutionLayer&lt;&gt;::LayerSetUp()
          @     0x7f26033ee557  caffe::Net&lt;&gt;::Init()
          @     0x7f26033efde1  caffe::Net&lt;&gt;::Net()
          @     0x7f26033c5d4a  caffe::Solver&lt;&gt;::InitTrainNet()
          @     0x7f26033c7157  caffe::Solver&lt;&gt;::Init()
          @     0x7f26033c74fa  caffe::Solver&lt;&gt;::Solver()
          @     0x7f2603400353  caffe::Creator_SGDSolver&lt;&gt;()
          @           0x40c07a  train()
          @           0x408748  main
          @     0x7f26014f3830  __libc_start_main
          @           0x409019  _start
          @              (nil)  (unknown)
  </code></pre>
  
  <p>I have not included the creation of previous layers. But it seems <code>net</code> creates previous layers successfully, and it reaches to the <code>Creating Layer upscore_sign</code>, the error comes. I changed <code>solver</code> as follows:</p>
  
  <pre><code>net: "train_val.prototxt"
  #test_net: "val.prototxt"
  test_iter: 200 #3000 #5105
  # make test net, but don't invoke it from the solver itself
  test_interval: 1000
  display: 20
  average_loss: 20
  lr_policy: "step" #"fixed"
  # lr for unnormalized softmax
  base_lr: 1e-10
  # high momentum
  momentum: 0.99
  # no gradient accumulation
  iter_size: 1
  max_iter: 300000
  weight_decay: 0.0005
  snapshot: 2000 #10000
  snapshot_prefix: "snapshot/FCN32s_train"
  test_initialization: false
  solver_mode: GPU   #+
  </code></pre>
  
  <p>and I changed the number of outputs from 60 to 5 (based on the number of classes in my data): <code>convolution_param {num_output: 5 }</code> </p>
  
  <p>Can someone suggest any solution or idea about this? What I have set/changed wrongly? What/where is my mistake?</p>
  
  <p>Your help is appreciated.</p>