【发布时间】:2022-10-07 08:51:31
【问题描述】:
我正在使用 HF Seq2SeqTrainingArguments 和 Seq2SeqTrainer 微调 HuggingFace 转换器模型(PyTorch 版本),并且我想在 Tensorboard 中显示训练和验证损失(在同一张图表中)。
据我了解,为了将两个损失一起绘制,我需要使用 SummaryWriter。 HF Callbacks 文档描述了一个可以接收 tb_writer 参数的 TensorBoardCallback 函数:
但是,如果它甚至应该与 Trainer API 一起使用,我无法弄清楚使用它的正确方法是什么。
我的代码看起来像这样:
args = Seq2SeqTrainingArguments(
output_dir=output_dir,
evaluation_strategy='epoch',
learning_rate= 1e-5,
per_device_train_batch_size=batch_size,
per_device_eval_batch_size=batch_size,
weight_decay=0.01,
save_total_limit=3,
num_train_epochs=num_train_epochs,
predict_with_generate=True,
logging_steps=logging_steps,
report_to='tensorboard',
push_to_hub=False,
)
trainer = Seq2SeqTrainer(
model,
args,
train_dataset=tokenized_train_data,
eval_dataset=tokenized_val_data,
data_collator=data_collator,
tokenizer=tokenizer,
compute_metrics=compute_metrics,
)
我假设我应该在训练器中包含对 TensorBoard 的回调,例如,
callbacks = [TensorBoardCallback(tb_writer=tb_writer)]
但我找不到一个全面的例子来说明如何使用/导入什么来使用它。
我还在 GitHub 上找到了这个功能请求,
https://github.com/huggingface/transformers/pull/4020
但没有使用示例,所以我很困惑......
任何见解将不胜感激
【问题讨论】:
标签: pytorch tensorboard huggingface-transformers