PyTorch 分类器输出啥?

     2023-03-13     60

关键词:

【中文标题】PyTorch 分类器输出啥?【英文标题】:What does PyTorch classifier output?PyTorch 分类器输出什么? 【发布时间】:2021-01-16 01:56:40 【问题描述】:

所以我是深度学习的新手,开始学习 PyTorch。我创建了一个具有以下结构的分类器模型。

class model(nn.Module):
def __init__(self):
    super(model, self).__init__()
    resnet = models.resnet34(pretrained=True)
    layers = list(resnet.children())[:8]
    self.features1 = nn.Sequential(*layers[:6])
    self.features2 = nn.Sequential(*layers[6:])
    self.classifier = nn.Sequential(nn.BatchNorm1d(512), nn.Linear(512, 3))
    
def forward(self, x):
    x = self.features1(x)
    x = self.features2(x)
    x = F.relu(x)
    x = nn.AdaptiveAvgPool2d((1,1))(x)
    x = x.view(x.shape[0], -1)
    return self.classifier(x)

所以基本上我想在 0,1,2 三个方面进行分类。在评估时,我传递了图像,它返回了一个具有如下三个值的张量

    (tensor([[-0.1526,  1.3511, -1.0384]], device='cuda:0', grad_fn=<AddmmBackward>)

所以我的问题是这三个数字是什么?它们是概率吗?

附:如果我问的太傻了,请原谅我。

【问题讨论】:

【参考方案1】:

因此,在训练之后,您想要做的是将softmax 应用于输出张量以提取每个类的概率,然后选择最大值(最高概率)。

在你的情况下:

prob = torch.nn.functional.softmax(model(x), dim=1)
_, pred_class = torch.max(prob, dim=1)

【讨论】:

原始值?它们代表对数概率【参考方案2】:

你的模型的self.classifier的最后一层nn.Linear(全连接层)产生值,我们可以称之为scores,例如,它可能是:[10.3, -3.5, -12.0],您也可以在示例中看到相同的内容:[-0.1526, 1.3511, -1.0384] 未标准化,不能解释为概率。

正如您所看到的,它只是一种“原始未缩放”的网络输出,换句话说,这些值没有归一化,很难使用它们或解释结果,这就是为什么通常的做法是将它们转换为归一化概率的原因正如@skinny_func 已经描述的那样,在最后一层之后使用softmax 进行分发。之后你会得到0到1范围内的概率,更直观的表示。

【讨论】:

PyTorch 中的转换用于啥?

】PyTorch中的转换用于啥?【英文标题】:WhataretransformsinPyTorchusedfor?PyTorch中的转换用于什么?【发布时间】:2018-10-0418:22:57【问题描述】:我是Pytorch的新手,对CNN不是很熟悉。我已经使用他们提供的教程完成了一个成功的分类... 查看详情

决策树分类器 sklearn 中节点的不同颜色表示啥?

】决策树分类器sklearn中节点的不同颜色表示啥?【英文标题】:whatdoesdifferentcolorofnodesindecisiontreeclassifiersklearnindicate?决策树分类器sklearn中节点的不同颜色表示什么?【发布时间】:2021-08-2305:25:02【问题描述】:我正在尝试可视... 查看详情

如何用pytorch实现一个分类器?(代码片段)

学习目标了解分类器的任务和数据样式掌握如何用Pytorch实现一个分类器分类器任务和数据介绍构造一个将不同图像进行分类的神经网络分类器,对输入的图片进行判别并完成分类.本案例采用CIFAR10数据集作为原始图片数据.CIFAR10数... 查看详情

pytorch应用:构建分类器(代码片段)

Pytorch应用:构建分类器学习目标1.分类器任务和数据介绍2.训练分类器的步骤2.1使用torchvision下载CIFAR10数据集2.2定义卷积神经网络2.3定义损失函数2.4在训练集上训练模型2.5保存模型3.在测试集上测试模型3.1展示测试集中的若干... 查看详情

使用 PyTorch 的多标签、多类图像分类器 (ConvNet)

】使用PyTorch的多标签、多类图像分类器(ConvNet)【英文标题】:Multi-label,multi-classimageclassifier(ConvNet)withPyTorch【发布时间】:2018-12-0113:32:29【问题描述】:我正在尝试使用PyTorch实现一个图像分类器(CNN/ConvNet),我想从csv文件中读取... 查看详情

PyTorch LSTM 中的“隐藏”和“输出”有啥区别?

】PyTorchLSTM中的“隐藏”和“输出”有啥区别?【英文标题】:What\'sthedifferencebetween"hidden"and"output"inPyTorchLSTM?PyTorchLSTM中的“隐藏”和“输出”有什么区别?【发布时间】:2018-06-2610:25:39【问题描述】:我无法理解... 查看详情

使用pytorch构建卷积神经网络的分类器

参考技术A分类任务和数据介绍可以参考神经网络的构建结果保存模型以及进行测试在全部测试集上的表现如果在GPU上进行训练的话 查看详情

使用pytorch训练一个图像分类器(代码片段)

原文:TRAININGACLASSIFIER翻译:Jerry日期:2019-01-23importtorchimporttorchvisionimporttorchvision.transformsastransformsimportmatplotlib.pyplotaspltimportnumpyasnpprint("torch:%s"%torch.__version__)pri 查看详情

pytorch学习01-训练图像分类器(代码片段)

...据测试网络总结前言  提示:本篇博客主要是记录pytorch的学习过程,当作是一个笔记来使用。  本篇内容:训练图像分类器,步骤如下:1.使用torchvision加 查看详情

Pytorch 默认数据加载器卡在大型图像分类训练集上

】Pytorch默认数据加载器卡在大型图像分类训练集上【英文标题】:Pytorchdefaultdataloadergetsstuckforlargeimageclassificationtrainingset【发布时间】:2020-05-2703:07:15【问题描述】:我正在Pytorch中训练图像分类模型,并使用他们的defaultdataloader... 查看详情

pytorch实现简单的分类器(代码片段)

作为目前越来越受欢迎的深度学习框架,pytorch基本上成了新人进入深度学习领域最常用的框架。相比于TensorFlow,pytorch更易学,更快上手,也可以更容易的实现自己想要的demo。今天的文章就从pytorch的基础开始,帮助大家实现成... 查看详情

如何使用 gensim 和 pytorch 创建意图分类器(使用 LSTM NN)?

】如何使用gensim和pytorch创建意图分类器(使用LSTMNN)?【英文标题】:Howtousegensimwithpytorchtocreateanintentclassifier(WithLSTMNN)?【发布时间】:2020-03-2523:33:48【问题描述】:要解决的问题:给定一个句子,返回它背后的意图(想想聊天... 查看详情

pytorch实例2——文本情绪分类器(代码片段)

实例主要用于熟悉相关模型,并且练习创建一个模型的步骤:数据收集、数据预处理、构建模型、训练模型、测试模型、观察模型表现、保存模型传送门:蓝桥云课实验目录1.实验环境2.实验目的3.相关原理4.实验步骤4... 查看详情

pytorch学习笔记7.textcnn文本分类(代码片段)

PyTorch学习笔记7.TextCNN文本分类一、模型结构二、文本分词与编码1.分词与编码器2.数据加载器二、模型定义1.卷积层2.池化层3.全连接层三、训练过程四、测试过程五、预测过程一、模型结构2014年,YoonKim针对CNN的输入层做了一... 查看详情

pytorch学习笔记7.textcnn文本分类(代码片段)

PyTorch学习笔记7.TextCNN文本分类一、模型结构二、文本分词与编码1.分词与编码器2.数据加载器二、模型定义1.卷积层2.池化层3.全连接层三、训练过程四、测试过程五、预测过程一、模型结构2014年,YoonKim针对CNN的输入层做了一... 查看详情

pytorch学习-训练cifar10分类器(代码片段)

output_10_1.pngTRAININGACLASSIFIER参考PytorchTutorial:DeepLearningwithPyTorch:A60MinuteBlitz在学会了以下后:定义神经网络计算损失函数更新权重WhataboutdataGenerally,whenyouhavetodealwithimage,text,audioorvideodata,youcanusestandardpythonpackagesthatloaddataintoanumpyarray.The... 查看详情

pytorch学习笔记第五篇——训练分类器(代码片段)

文章目录1.数据2.训练图像分类器2.1加载并标准化CIFAR102.2训练图像3.定义卷积神经网络、损失函数、优化器、训练网络和保存模型4.测试自己的模型5.在GPU上进行训练1.数据通常,当您必须处理图像,文本,音频或视频... 查看详情

贝叶斯分类器分数代表啥?

】贝叶斯分类器分数代表啥?【英文标题】:WhatdoesaBayesianClassifierscorerepresent?贝叶斯分类器分数代表什么?【发布时间】:2011-06-2102:51:00【问题描述】:我正在使用rubyclassifiergem,它的分类方法返回针对训练模型分类的给定字符... 查看详情