当前位置:首页 > 科技  > 软件

PyTorch 训练,除了会训练还要了解这些

来源: 责编: 时间:2024-09-10 09:48:10 26观看
导读让我们讨论一下在训练过程中帮助你进行实验的技术。我将提供一些理论、代码片段和完整的流程示例。主要要点包括:数据集分割指标可重复性配置、日志记录和可视化分割数据集我喜欢有训练集、验证集和测试集的分割。这里

让我们讨论一下在训练过程中帮助你进行实验的技术。我将提供一些理论、代码片段和完整的流程示例。主要要点包括:p4f28资讯网——每日最新资讯28at.com

  • 数据集分割
  • 指标
  • 可重复性
  • 配置、日志记录和可视化

p4f28资讯网——每日最新资讯28at.com

分割数据集

我喜欢有训练集、验证集和测试集的分割。这里没什么好说的;你可以使用随机分割,或者如果你有一个不平衡的数据集(就像在实际情况中经常发生的那样)——分层分割。p4f28资讯网——每日最新资讯28at.com

对于测试集,尝试手动挑选一个“黄金数据集”,包含你希望模型擅长的所有示例。测试集应该在实验之间保持不变。它应该只在你完成模型训练后使用。这将在部署到生产环境之前给你客观的指标。别忘了,你的数据集应该尽可能接近生产环境,这样才有代表性。p4f28资讯网——每日最新资讯28at.com

p4f28资讯网——每日最新资讯28at.com

指标

为你的任务选择正确的指标至关重要。我最喜欢的错误使用指标的例子是 Kaggle 的“深空系外行星狩猎”数据集,在那里你可以找到很多笔记本,人们在大约有 5000 个负样本和 50 个正样本的严重不平衡的数据集上使用准确率。当然,他们得到了 99% 的准确率,并且总是预测负样本。那样的话,他们永远也找不到系外行星,所以让我们明智地选择指标。p4f28资讯网——每日最新资讯28at.com

深入讨论指标超出了本文的范围,但我将简要提及一些可靠的选项:p4f28资讯网——每日最新资讯28at.com

  • F1 分数
  • 精确度和召回率
  • mAP(检测任务)
  • IoU(分割任务)
  • 准确率(对于平衡的数据集)
  • ROC-AUC

真实图像分类问题的分数示例:p4f28资讯网——每日最新资讯28at.com

+--------+----------+--------+-----------+--------+| split  | accuracy |   f1   | precision | recall |+--------+----------+--------+-----------+--------+| val    | 0.9915   | 0.9897 | 0.9895    | 0.99   || test   | 0.9926   | 0.9921 | 0.9927    | 0.9915 |+--------+----------+--------+-----------+--------+

p4f28资讯网——每日最新资讯28at.com

为你的任务选择几个指标:p4f28资讯网——每日最新资讯28at.com

def get_metrics(gt_labels: List[int], preds: List[int]) -> Dict[str, float]:    num_classes = len(set(gt_labels))    if num_classes == 2:        average = "binary"    else:        average = "macro"    metrics = {}    metrics["accuracy"] = accuracy_score(gt_labels, preds)    metrics["f1"] = f1_score(gt_labels, preds, average=average)    metrics["precision"] = precision_score(gt_labels, preds, average=average)    metrics["recall"] = recall_score(gt_labels, preds, average=average)    return metrics

p4f28资讯网——每日最新资讯28at.com

此外,绘制精确度-阈值和召回率-阈值曲线,以更好地选择置信度阈值。p4f28资讯网——每日最新资讯28at.com

http://www.28at.com/showinfo-26-112733-0.htmlPyTorch 训练,除了会训练还要了解这些

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Asp.Net Core实战-JWT详解

下一篇: Python 输入输出知识点及用法讲解

标签:
  • 热门焦点
Top