code: def evaluate(sess, model, minibatch_iter, size=None):
      t_test = time.time()
      feed_dict_val, labels = minibatch_iter.node_val_feed_dict(size)
      node_outs_val = sess.run(
          [model.preds, model.loss], feed_dict=feed_dict_val
      )
      mic, mac = calc_f1(labels, node_outs_val[0])
      return node_outs_val[1], mic, mac, (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 2 for calling a global function with example usage: evaluate(sess, model, minibatch_iter, size) and returns: node_outs_val,  mic,  mac,  unknown