Skip to main content

tf.Graph

# Example usage

import numpy as np

with tf.Graph().as_default() as g:
   
    num_classes = 10  # Modify to yours
   
    labels = tf.placeholder(dtype=tf.int64, name="labels")
    predictions = tf.placeholder(dtype=tf.int64, name="predictions")
   
    metrics = SimpleSegmentationMetrics(labels, predictions, num_classes)
   
    update_op = metrics.get_update_op()
    reset_op = metrics.get_reset_op()
   
    pixel_accuracy_op = metrics.get_pixel_accuracy_op()
    pixel_mean_accuracy_op = metrics.get_pixel_mean_accuracy_op()
    iou_op = metrics.get_iou_op()

with tf.Session(graph=g) as sess:
   
    # aka initializer
    sess.run(reset_op)
   
    # Get labels and predictions from TFLite
    labels_np = np.random.randint(num_classes, size=(5, 224, 224))
    predictions_np = labels_np
   
    sess.run(update_op, feed_dict={labels: labels_np, predictions: predictions_np})
   
    print(sess.run(iou_op))
    print(sess.run(pixel_accuracy_op))
    print(sess.run(pixel_mean_accuracy_op))
   
    sess.run(reset_op)
   
    labels_np = np.random.randint(num_classes, size=(5, 224, 224))
    predictions_np = labels_np
    sess.run(update_op, feed_dict={labels: labels_np, predictions: predictions_np})
   
    labels_np = np.random.randint(num_classes, size=(5, 224, 224))
    predictions_np = np.random.randint(num_classes, size=(5, 224, 224))
    sess.run(update_op, feed_dict={labels: labels_np, predictions: predictions_np})
   
    print(sess.run(iou_op))
    print(sess.run(pixel_accuracy_op))
    print(sess.run(pixel_mean_accuracy_op))