title: Testing from an LMDB file in Caffe
body: <p>I am wondering how to go about setting up ONLY a test phase in Caffe for an LMDB file.  I have already trained my model, everything seems good, my loss has decreased, and the output I am getting on images loaded in one by one also seem good.</p>
  
  <p>Now I would like to see how my model performs on a separate LMDB test set, but seem to be unable to do so successfully.  It would not be ideal for me to do a loop by loading images one at a time since my loss function is already defined in caffe and this would require me to redefine it.</p>
  
  <p>this is what I have so far, but the results of this dont make sense; when I compare the loss I have from the train set to the loss I get from this, they don't match (orders of magnitude apart).  Does anyone have any idea what my problem could be?</p>
  
  <pre><code>caffe.set_device(0)
  caffe.set_mode_gpu()
  
  net = caffe.Net('/home/jeremy/Desktop/caffestuff/JP_Kitti/all_proto/mirror_shuffle/deploy_JP.prototxt','/home/jeremy/Desktop/caffestuff/JP_Kitti/all_proto/mirror_shuffle/snapshot_iter_10000.caffemodel',caffe.TEST)
  
  
  solver = None  # ignore this workaround for lmdb data (can't instantiate two solvers on the same data)
  solver = caffe.SGDSolver('/home/jeremy/Desktop/caffestuff/JP_Kitti/all_proto/mirror_shuffle/lenet_auto_solverJP_test.prototxt')
  niter = 100
  test_loss = zeros(niter)
  count = 0
  for it in range(niter):
      solver.test_nets[0].forward()  # SGD by Caffe
  
      # store the test loss
  
      test_loss[count] = solver.test_nets[0].blobs['loss']
      print(solver.test_nets[0].blobs['loss'].data)
      count = count+1
  </code></pre>