# 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))
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))