|
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}" |
|
|