num_samples_valid = Y_test.shape[0] num_batches_valid = num_samples_valid // batch_size for i in range(num_batches_valid): idx = range(i * batch_size, (i + 1) * batch_size) xy_batch = XY[idx] xz_batch = XZ[idx] yz_batch = YZ[idx] targets_batch = Y_test[idx] net_out = f_eval(xy_batch, xz_batch, yz_batch) preds = np.argmax(net_out, axis=-1) confusion_valid.batch_add(targets_batch, preds) train_acc_cur = confusion_train.accuracy() valid_acc_cur = confusion_valid.accuracy() print confusion_train print "Epoch %i : Train Loss %e , Train acc %f, Valid acc %f " % ( epoch + 1, loss[-1], train_acc_cur, valid_acc_cur) import Evaluation as E np.savez('Evaluation_Params.npz', *lasagne.layers.get_all_param_values(output)) X, Y = E.Evaluate2("/home/xvt131/Running/train4", DP.Tri_Image_Load, PS, f_eval) print "Mean Tibia Dice Score:", np.mean(X) print "Mean Femur Dice Score:", np.mean(Y)