当前位置: 首页 > news >正文

【softmax基础】如何使用什么时候使用

是否需要加上 softmax 取决于模型输出的 logits 格式以及 metric.compute() 函数的预期输入。

通常情况下:

  1. Softmax的作用:Softmax 将模型的原始输出 logits 转换为每个类别的概率值,方便进行预测结果的解释或评估。对于分类任务,Softmax 会将 logits 中最大的概率值对应的类别作为模型预测的类别。

  2. 什么时候需要加 softmax

    • 在预测阶段(比如模型评估、测试或推理阶段):softmax 通常用于获得概率分布,可以用于更明确地判断模型的预测类别。
    • 在训练阶段,如果模型内部已经包含了 softmax,就不需要再加。如果模型输出的是 logits,而 metric.compute() 期望的是概率分布或分类结果,那么你就需要手动添加 softmax
  3. 在你的代码中如何处理 softmax

    • 如果 metric.compute() 需要的是概率分布,那么在 pred 上加上 softmax 是必要的。可以在 logits 上应用 softmax,代码如下:

      
      pred = F.softmax(logits, axis=-1).reshape([-1, len(tags_to_idx)])
      
    • 如果 metric.compute() 只需要类别标签(比如 argmax 之后的索引),你可以先计算 argmax,再传入 metric,如下所示:

      pred = logits.argmax(axis=-1).reshape([-1])
      
  4. 总结:在 predict 阶段通常会使用 softmax,在 evaluate 阶段是否使用 softmax 取决于 metriclogits 的处理需求。‘


http://www.mrgr.cn/news/69116.html

相关文章:

  • Linux符号使用记录
  • redisson内存泄漏问题排查
  • jmeter常用配置元件介绍总结之逻辑控制器
  • Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
  • .NET 9中的record类型:不可变数据结构的介绍与应用场景分析
  • I.MX6U 裸机开发9.BEEP蜂鸣器实验
  • Python:scipy.signal.find_peaks 查找数据内的波峰波谷
  • 从0开始linux(25)——链接文件
  • c程序编译预处理命令那些事
  • 电工领域文档规范引用格式说明
  • 装杯 之 Linux指令【补充篇】
  • 图形几何之美系列:仿射变换矩阵
  • 了解信息物理系统(CPS,Cyber-Physical Systems)
  • Java 函数接口Comparator和Comparable【比较器接口】详解与示例
  • 深入理解指针3
  • 3242. 设计相邻元素求和服务
  • 运维规范心得
  • 【linux】再谈网络基础(二)
  • 如何判断 Hive 表是内部表还是外部表
  • C#入门 017 字段,属性,索引器,常量
  • 深入 MyBatis-Plus 插件:解锁高级数据库功能
  • ProcessBuilder调用脚本执行
  • Qt使用属性树(QtProPertyBrowser)时,引用报错#include “QtTreePropertyBrowser“解决方案
  • 星期-时间范围选择器 滑动选择时间 最小粒度 vue3
  • 浅谈web性能测试
  • 智能问答系统流程详解:多轮对话与模型训练的技术要点及案例