         if (testLabels[startId * LABEL_SIZE + i + j]) correct = j;
         if (results[i + j] > results[i + predicted]) predicted = j;
       }
+      /*std::cerr << "CORRECT: " << correct << " PREDICTED: " << predicted << std::endl;*/
       acc += (correct == predicted);
     }
 

  std::cerr << "\tDone." << std::endl;

  std::cerr << "Loading model params...";
  NpzConverter converter("../scripts/test_model/model.npz");

  std::vector<float> wData;
  Shape wShape;
  converter.Load("weights", wData, wShape);

  std::vector<float> bData;
  Shape bShape;
  converter.Load("bias", bData, bShape);

  auto initW = [wData](Tensor t) {
    t.set(wData);
  };

  auto initB = [bData](Tensor t) {
    t.set(bData);
  };

  std::cerr << "\tDone." << std::endl;

  auto x = input(shape={whatevs, IMAGE_SIZE}, name="X");
  auto y = input(shape={whatevs, LABEL_SIZE}, name="Y");

  auto w1 = param(shape={IMAGE_SIZE, 100}, name="W0", init=initW1);
  auto b1 = param(shape={1, 100}, name="b0", init=initB1);
  auto w2 = param(shape={100, LABEL_SIZE}, name="W1", init=initW2);
  auto b2 = param(shape={1, LABEL_SIZE}, name="b1", init=initB2);

  std::cerr << "Building model...";
  auto layer1 = tanh(dot(x, w1) + b1);
  auto layer2 = softmax(dot(layer1, w2) + b2, axis=1, name="layer2");
  auto predict = layer2;

  std::cerr << "Done." << std::endl;

