You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Skorch的TensorBoard回调追踪EpochScoring定义的自定义分数?

Skorch中让TensorBoard识别EpochScoring自定义分数的简便方法
  • 问题根源:Skorch的TensorBoard回调默认仅追踪预定义的基础指标(如train_loss、valid_loss),不会自动识别EpochScoring生成的自定义分数键。
  • 无需手动编写新回调的解决步骤:
    1. 确认自定义分数键名:从net.history中获取你通过EpochScoring生成的分数键。比如你初始化EpochScoring(scoring='f1', name='valid_f1'),对应的键名就是valid_f1。
    2. 配置TensorBoard回调的log_keys参数:在创建TensorBoard实例时,将自定义分数键添加到log_keys列表中,示例代码如下:
      from skorch.callbacks import TensorBoard, EpochScoring
      
      # 初始化自定义分数回调
      custom_scorer = EpochScoring(scoring='f1', name='valid_f1', lower_is_better=False)
      
      # 配置TensorBoard回调,加入自定义分数键
      tb_callback = TensorBoard(
          log_dir='./tensorboard_logs',
          log_keys=['train_loss', 'valid_loss', 'valid_f1']  # 添加上你的自定义分数键
      )
      
      # 训练时传入两个回调
      net.fit(X_train, y_train, callbacks=[custom_scorer, tb_callback])
      
    3. 多自定义分数的处理:如果有多个自定义指标,直接把所有需要追踪的键名都加入log_keys列表即可,比如['train_loss', 'valid_loss', 'valid_f1', 'valid_recall']。
  • 快捷方式:若想追踪历史记录中所有指标,可直接设置log_keys='all',但会包含所有历史日志,按需选择即可。

内容的提问来源于stack exchange,提问作者Eric Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:12:05