@@ -544,6 +544,21 @@ def get_git_commit_id():
544544 return "unknown"
545545
546546
547+ def resolve_log_dirs (run_log_dir ):
548+ """Resolve training and profile log directories from a run output directory."""
549+ log_dir = os .path .join (run_log_dir , "logs" )
550+ profile_log_dir = os .path .join (run_log_dir , "profile_logs" )
551+
552+ if not os .path .isdir (log_dir ):
553+ print (f"Training log directory does not exist: { log_dir } " )
554+ return None , None
555+ if not os .path .isdir (profile_log_dir ):
556+ print (f"Profile log directory does not exist: { profile_log_dir } " )
557+ return None , None
558+
559+ return log_dir , profile_log_dir
560+
561+
547562def get_model_data (model_name , sheet_title , tag , log_dir = "logs" , profile_log_dir = "profile_logs" ):
548563 """Construct 2D list for writing to Feishu"""
549564 log_file_path = os .path .join (log_dir , tag , f"{ model_name } _{ sheet_title } .log" )
@@ -602,10 +617,17 @@ def get_model_data(model_name, sheet_title, tag, log_dir="logs", profile_log_dir
602617def main ():
603618 parser = argparse .ArgumentParser (description = 'Script to write training metrics to Feishu sheets' )
604619 parser .add_argument ('config_file' , help = 'Path to JSON config file (e.g. token.json)' )
605- parser .add_argument ('--log-dir' , default = 'logs' , help = 'Training log directory. Default: logs' )
606- parser .add_argument ('--profile-log-dir' , default = 'profile_logs' , help = 'Profile log directory. Default: profile_logs' )
620+ parser .add_argument (
621+ '--log-dir' ,
622+ default = '.' ,
623+ help = 'Run output directory containing logs/ and profile_logs/. Default: current directory'
624+ )
607625 args = parser .parse_args ()
608626
627+ log_dir , profile_log_dir = resolve_log_dirs (args .log_dir )
628+ if not log_dir or not profile_log_dir :
629+ return
630+
609631 config = load_config (args .config_file )
610632 if not config :
611633 print ("Failed to load config file, exiting" )
@@ -627,9 +649,9 @@ def main():
627649 print (f"\n --- Processing model={ model_name } tag={ tag } ---" )
628650 model_name = model_name .lower ()
629651
630- testcases = discover_testcases (model_name , tag , log_dir = args . log_dir )
652+ testcases = discover_testcases (model_name , tag , log_dir = log_dir )
631653 if not testcases :
632- print (f"No local testcases found under { args . log_dir } /{ tag } / for model={ model_name } , skipping" )
654+ print (f"No local testcases found under { log_dir } /{ tag } / for model={ model_name } , skipping" )
633655 continue
634656 print (f"Discovered { len (testcases )} local testcases: { testcases } " )
635657
@@ -665,8 +687,8 @@ def main():
665687 model_name = model_name ,
666688 sheet_title = testcase ,
667689 tag = tag ,
668- log_dir = args . log_dir ,
669- profile_log_dir = args . profile_log_dir
690+ log_dir = log_dir ,
691+ profile_log_dir = profile_log_dir
670692 )
671693
672694 if not sheet_data :
0 commit comments