clearml/examples/cicd/compare_models.py

31 lines
1.3 KiB
Python
Raw Normal View History

import os
from clearml import Task
from task_stats_to_comment import get_clearml_task_of_current_commit
def compare_and_tag_task(commit_hash):
"""Compare current performance to best previous performance and only allow equal or better."""
current_task = get_clearml_task_of_current_commit(commit_hash)
best_task = Task.get_task(project_name='Github CICD Video', task_name='cicd_test', tags=['Best Performance'])
if best_task:
best_metric = max(
best_task.get_reported_scalars().get('Performance Metric').get('Series 1').get('y')
)
current_metric = max(
current_task.get_reported_scalars().get('Performance Metric').get('Series 1').get('y')
)
print(f"Best metric in the system is: {best_metric} and current metric is {current_metric}")
if current_metric >= best_metric:
print("This means current metric is better or equal! Tagging as such.")
current_task.add_tags(['Best Performance'])
else:
print("This means current metric is worse! Not tagging.")
else:
current_task.add_tags(['Best Performance'])
if __name__ == '__main__':
print(f"Running on commit hash: {os.getenv('COMMIT_ID')}")
compare_and_tag_task(os.getenv('COMMIT_ID'))