| from inference.core.active_learning.entities import ( |
| ActiveLearningConfiguration, |
| BatchReCreationInterval, |
| ) |
| from inference.core.active_learning.utils import ( |
| generate_start_timestamp_for_this_month, |
| generate_start_timestamp_for_this_week, |
| generate_today_timestamp, |
| ) |
|
|
| RECREATION_INTERVAL2TIMESTAMP_GENERATOR = { |
| BatchReCreationInterval.DAILY: generate_today_timestamp, |
| BatchReCreationInterval.WEEKLY: generate_start_timestamp_for_this_week, |
| BatchReCreationInterval.MONTHLY: generate_start_timestamp_for_this_month, |
| } |
|
|
|
|
| def generate_batch_name(configuration: ActiveLearningConfiguration) -> str: |
| batch_name = configuration.batches_name_prefix |
| if configuration.batch_recreation_interval is BatchReCreationInterval.NEVER: |
| return batch_name |
| timestamp_generator = RECREATION_INTERVAL2TIMESTAMP_GENERATOR[ |
| configuration.batch_recreation_interval |
| ] |
| timestamp = timestamp_generator() |
| return f"{batch_name}_{timestamp}" |
|
|