Skip to content

Commit 1a8d9d5

Browse files
committed
fix: resolve Feishu log dirs from run output dir
1 parent cde0458 commit 1a8d9d5

1 file changed

Lines changed: 28 additions & 6 deletions

File tree

scripts/write_to_feishu_sheet.py

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
547562
def 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
602617
def 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

Comments
 (0)