diff --git a/modules/deeplearning/icing_cnn.py b/modules/deeplearning/icing_cnn.py
index 98f27613182db38f58cb7000daf1e4667b5fe180..57bc98b02dfc3adec3d83ac23b7445e6447161ca 100644
--- a/modules/deeplearning/icing_cnn.py
+++ b/modules/deeplearning/icing_cnn.py
@@ -145,6 +145,10 @@ class IcingIntensityNN:
         self.test_auc = None
         self.test_recall = None
         self.test_precision = None
+        self.test_confusion_matrix = None
+
+        self.test_labels = []
+        self.test_preds = []
 
         self.learningRateSchedule = None
         self.num_data_samples = None
@@ -370,7 +374,7 @@ class IcingIntensityNN:
         fc = tf.keras.layers.BatchNormalization()(fc)
         print(fc.shape)
 
-        # activation = tf.nn.softmax
+        # activation = tf.nn.softmax # For multi-class
         activation = tf.nn.sigmoid  # For binary
 
         logits = tf.keras.layers.Dense(NumLabels, activation=activation)(fc)
@@ -459,6 +463,9 @@ class IcingIntensityNN:
         pred = self.model(inputs, training=False)
         t_loss = self.loss(labels, pred)
 
+        self.test_labels.append(labels)
+        self.test_preds.append(pred.result().numpy())
+
         self.test_loss(t_loss)
         self.test_accuracy(labels, pred)
         self.test_auc(labels, pred)
@@ -517,6 +524,9 @@ class IcingIntensityNN:
                         with self.writer_valid.as_default():
                             tf.summary.scalar('loss_val', self.test_loss.result(), step=step)
                             tf.summary.scalar('acc_val', self.test_accuracy.result(), step=step)
+                            tf.summary.scalar('auc_val', self.test_auc.result(), step=step)
+                            tf.summary.scalar('recall_val', self.test_recall.result(), step=step)
+                            tf.summary.scalar('prec_val', self.test_precision.result(), step=step)
                             tf.summary.scalar('num_train_steps', step, step=step)
                             tf.summary.scalar('num_epochs', epoch, step=step)
 
@@ -584,6 +594,9 @@ class IcingIntensityNN:
             for mini_batch_test in ds:
                 self.predict(mini_batch_test)
         print('loss, acc: ', self.test_loss.result(), self.test_accuracy.result())
+        cm = tf.math.confusion_matrix(np.concatenate(self.test_labels), np.concatenate(self.test_preds), num_classes=2)
+        cm = cm.result().numpy()
+        print(cm)
 
     def run(self, filename, filename_l1b=None):
         with tf.device('/device:GPU:'+str(self.gpu_device)):