clearml/examples/scheduler/trigger_example.py

50 lines
1.5 KiB
Python
Raw Normal View History

from clearml import Task, Dataset, Model
from clearml.automation import TriggerScheduler
def trigger_model_func(model_id):
model = Model(model_id=model_id)
print('model id {} modified'.format(model.id))
def trigger_dataset_func(dataset_id):
dataset = Dataset.get(dataset_id=dataset_id)
print('dataset id {} created'.format(dataset.id))
def trigger_task_func(task_id):
task = Task.get_task(task_id=task_id)
print('Task ID {} metric above threshold'.format(task.id))
if __name__ == '__main__':
trigger = TriggerScheduler(pooling_frequency_minutes=3.0)
trigger.add_model_trigger(
name='model deploy',
schedule_function=trigger_model_func,
trigger_project='examples',
trigger_on_tags=['deploy']
)
trigger.add_model_trigger(
name='model quality check',
schedule_task_id='add_task_id_here',
schedule_queue='default',
trigger_project='examples',
trigger_on_tags=['deploy']
)
trigger.add_dataset_trigger(
name='retrain on dataset',
schedule_function=trigger_dataset_func,
trigger_project='datasets',
trigger_on_tags=['retrain']
)
trigger.add_task_trigger(
name='performance high-score',
schedule_function=trigger_task_func,
trigger_project='examples',
trigger_on_metric='epoch_accuracy', trigger_on_variant='epoch_accuracy',
trigger_on_sign='max',
trigger_on_threshold=0.99
)
trigger.start_remotely()