| """ | |
| Copyright (c) 2024, Alliance for Open Media. All rights reserved | |
| This source code is subject to the terms of the BSD 3-Clause Clear License | |
| and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear | |
| License was not distributed with this source code in the LICENSE file, you | |
| can obtain it at aomedia.org/license/software-license/bsd-3-c-c/. If the | |
| Alliance for Open Media Patent License 1.0 was not distributed with this | |
| source code in the PATENTS file, you can obtain it at | |
| aomedia.org/license/patent-license/. | |
| """ | |
| from datetime import datetime | |
| from termcolor import cprint | |
| import parakit.tasks.collect_results as collect | |
| import parakit.tasks.decoding as decode | |
| import parakit.tasks.generate_tables as generate_table | |
| import parakit.tasks.training as train | |
| def print_elapsed_time(start, end): | |
| total_time = end - start | |
| hours = total_time.seconds // 3600 | |
| mins = total_time.seconds // 60 % 60 | |
| sec = total_time.seconds % 60 | |
| print(f"Elapsed time: {total_time.days}d {hours}h:{mins}m:{sec}s") | |
| def main(): | |
| cprint( | |
| "------------------ RUN TRAINING ---------------------", "black", attrs=["bold"] | |
| ) | |
| start_time = datetime.now() | |
| # Step 1: run decoder to collect data | |
| decode.run() | |
| # Step 2: run training and create result report | |
| train.run() | |
| # Step 3: collect results | |
| collect.run() | |
| # Step 4: generate context tables | |
| generate_table.run() | |
| end_time = datetime.now() | |
| print_elapsed_time(start_time, end_time) | |
| cprint( | |
| "-----------------------------------------------------", "black", attrs=["bold"] | |
| ) | |
| if __name__ == "__main__": | |
| main() |