From 0a43bc1960db7b31658c75953be04dbc820607db Mon Sep 17 00:00:00 2001 From: Ze-Yi LIN <58305964+Zeyi-Lin@users.noreply.github.com> Date: Tue, 11 Mar 2025 00:53:07 +0800 Subject: [PATCH] [tracking] add swanlab_logdir param (#7219) * feat: add swanlab_logdir param * fix Former-commit-id: a1e76af3d9cf64a6c016bb2333fc815fd4be73cf --- src/llamafactory/hparams/finetuning_args.py | 12 +++++++---- src/llamafactory/train/trainer_utils.py | 1 + src/llamafactory/webui/locales.py | 22 +++++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index c9acd2f5..afcb171c 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -363,15 +363,15 @@ class SwanLabArguments: default=False, metadata={"help": "Whether or not to use the SwanLab (an experiment tracking and visualization tool)."}, ) - swanlab_project: str = field( + swanlab_project: Optional[str] = field( default="llamafactory", metadata={"help": "The project name in SwanLab."}, ) - swanlab_workspace: str = field( + swanlab_workspace: Optional[str] = field( default=None, metadata={"help": "The workspace name in SwanLab."}, ) - swanlab_run_name: str = field( + swanlab_run_name: Optional[str] = field( default=None, metadata={"help": "The experiment name in SwanLab."}, ) @@ -379,10 +379,14 @@ class SwanLabArguments: default="cloud", metadata={"help": "The mode of SwanLab."}, ) - swanlab_api_key: str = field( + swanlab_api_key: Optional[str] = field( default=None, metadata={"help": "The API key for SwanLab."}, ) + swanlab_logdir: Optional[str] = field( + default=None, + metadata={"help": "The log directory for SwanLab."}, + ) @dataclass diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 15ed0df4..161e2860 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -617,6 +617,7 @@ def get_swanlab_callback(finetuning_args: "FinetuningArguments") -> "TrainerCall experiment_name=finetuning_args.swanlab_run_name, mode=finetuning_args.swanlab_mode, config={"Framework": "🦙LlamaFactory"}, + logdir=finetuning_args.swanlab_logdir, ) return swanlab_callback diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index a0b4c03e..ad8ebeb1 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -1894,6 +1894,28 @@ LOCALES = { "info": "クラウド版またはオフライン版 SwanLab を使用します。", }, }, + "swanlab_logdir": { + "en": { + "label": "SwanLab log directory", + "info": "The log directory for SwanLab.", + }, + "ru": { + "label": "SwanLab 로그 디렉토리", + "info": "SwanLab의 로그 디렉토리.", + }, + "zh": { + "label": "SwanLab 日志目录", + "info": "SwanLab 的日志目录。", + }, + "ko": { + "label": "SwanLab 로그 디렉토리", + "info": "SwanLab의 로그 디렉토리.", + }, + "ja": { + "label": "SwanLab ログ ディレクトリ", + "info": "SwanLab のログ ディレクトリ。", + }, + }, "cmd_preview_btn": { "en": { "value": "Preview command",