{% extends "base.html" %} {% block content %}

Annotation Validation Report

Run ID: {{ data.summary.run_id }}

Timestamp: {{ data.summary.timestamp }}

Overall Status

{{ data.summary.status }}

Total Fields

{{ data.fields|length }}

Total Samples

{{ data.inputs|length }}

{% for field_name, field in data.fields.items() %}

{{ field_name }}

Score: {{ "%.2f"|format(field.score) }} (threshold: {{ field.threshold }})
{% if field.details.accuracy is defined %}
{{ "%.1f"|format(field.details.accuracy * 100) }}%
Accuracy
{% endif %} {% if field.details.mae is defined %}
{{ "%.3f"|format(field.details.mae) }}
Mean Absolute Error
{% endif %} {% if field.details.rmse is defined %}
{{ "%.3f"|format(field.details.rmse) }}
Root Mean Square Error
{% endif %}
{{ field.plots[field_name] | safe if field.plots }}
{% for i in range(field.predictions|length) %} {% endfor %}
Index Prediction Ground Truth Status
{{ i + 1 }} {{ field.predictions[i] }} {{ field.annotations[i] if field.annotations else '-' }} {% if field.annotations %} {% if field.predictions[i] == field.annotations[i] %} {% else %} {% endif %} {% endif %}
{% if field.annotations %}

Error Distribution

{% if field.details.error_distribution %}
{{ field.details.error_distribution | safe }}
{% endif %} {% if field.details.common_errors %}

Most Common Errors

{% for error in field.details.common_errors %} {% endfor %}
Predicted Actual Count
{{ error.predicted }} {{ error.actual }} {{ error.count }}
{% endif %}
{% else %}

No annotation data available for error analysis.

{% endif %}
{% endfor %} {% if data.inputs %}

Sample Inputs

{% for key in data.inputs[0].keys() %} {% endfor %} {% for i, input in enumerate(data.inputs) %} {% for value in input.values() %} {% endfor %} {% endfor %}
Index{{ key }}
{{ i + 1 }}{{ value }}
{{ data.inputs | tojson(indent=2) }}
{% endif %} {% endblock %}