-
Notifications
You must be signed in to change notification settings - Fork 867
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add WandB logging support #428
Conversation
ありがとうございます。大変便利そうですね。 細かい修正を行い(不要なif判定の削除と、wandb用のmakedirsにexist_ok=Trueを追加)、マージしました。 手元ではwandbの動作確認をしていないのですが、 if args.logging_dir is not None:
logs = generate_step_logs(args, current_loss, avr_loss, lr_scheduler)
accelerator.log(logs, step=global_step) もし動くようなら失礼しました。もし動かないようなら if logging_dir is not None:
os.makedirs(logging_dir, exist_ok=True)
os.environ["WANDB_DIR"] = logging_dir |
確認ありがとうございます。
( 以下のようになるかと思いますがいかがでしょうか。 if log_with in ["wandb", "all"]:
try:
import wandb
except ImportError:
raise ImportError("No wandb / wandb がインストールされていないようです")
if logging_dir is not None:
os.makedirs(logging_dir, exist_ok=True)
os.environ["WANDB_DIR"] = logging_dir
else:
args.logging_dir = "wandb" これで問題ないようでしたら、私の方で修正させていただきます。 |
ありがとうございます。 |
確認ありがとうございます。関連するPRをいただいているので、マージ時にあわせて修正いたします。 |
関連 #418
WandB でログを取得するオプションを追加しました。利用するには事前に
pip install wandb
で wandb のインストールとwandb login
で必要になります。以下の引数を追加しました。
--log_with
: 使用するログ取得ツールで、現在はtensorboard
、wandb
、all
が選択できます。all
ではすべてを同時に利用できます。指定されなかった場合は従来どおり tensorboard が使用されます。--log_tracker_name
: WandB で表示されるプロジェクト名(トラッカー名)を指定できます。指定されなかった場合は、textual_inversion
やdreambooth
などの学習するものの名前が使われます。(log_prefix
は wandb では適用されません)log_with
で wandb が有効のときにlogging_dir
が指定されなかった場合は、実行ディレクトリにwandb
ディレクトリが作成されてそこに保存されます。そのため.gitignore
に wandb ディレクトリを追加しました。log_tracker_name
は全ての学習スクリプト上のaccelerate.init_trackers()
で設定しているのですが、ログに関するコードが増えたら、ログ用に何かの関数を用意してそこで設定するようにしたほうがよいかもしれないです...