code: def incremental_evaluate(
      sess, model, minibatch_iter, size, test=False
  ):
      t_test = time.time()
      finished = False
      val_losses = []
      val_preds = []
      labels = []
      iter_num = 0
      finished = False
      while not finished:
          (
              feed_dict_val,
              batch_labels,
              finished,
              _,
          ) = minibatch_iter.incremental_node_val_feed_dict(
              size, iter_num, test=test
          )
          node_outs_val = sess.run(
              [model.preds, model.loss], feed_dict=feed_dict_val
          )
          val_preds.append(node_outs_val[0])
          labels.append(batch_labels)
          val_losses.append(node_outs_val[1])
          iter_num += 1
      val_preds = np.vstack(val_preds)
      labels = np.vstack(labels)
      f1_scores = calc_f1(labels, val_preds)
      return (
          np.mean(val_losses),
          f1_scores[0],
          f1_scores[1],
          (time.time() - t_test),
      )
  
file_path: GraphSAGE/graphsage/supervised_train.py
imports: from __future__ import division
  from __future__ import print_function
  import os
  import time
  import tensorflow
  import numpy
  import sklearn
  from sklearn import metrics
  from graphsage.supervised_models import SupervisedGraphsage
  from graphsage.models import SAGEInfo
  from graphsage.minibatch import NodeMinibatchIterator
  from graphsage.neigh_samplers import UniformNeighborSampler
  from graphsage.utils import load_data
label_desc: Use image node_id 4 for calling a global function with example usage: incremental_evaluate(sess, model, minibatch_iter, size, test) and returns: np,  f1_scores,  f1_scores,  unknown