pytorch学习笔记:全连接层处理图像分类问题

Posted Z|Star

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch学习笔记:全连接层处理图像分类问题相关的知识,希望对你有一定的参考价值。

1、softmax函数的引出
处理多分类问题时,一般的激活函数会产生矛盾的效果,需要满足两个条件,所有的P均大于0,所有的P相加等于1。
在这里插入图片描述
而softmax函数可以满足这一点
函数公式:
在这里插入图片描述
真的是非常Amazing啊
下面这个实例展示它是如何计算的
在这里插入图片描述
2、损失函数的选取
对于二分类问题,之前我们选取了交叉熵作为损失函数,多分类问题有了些许变化,损失函数为
在这里插入图片描述
用程序语言来表达整个过程:
在这里插入图片描述
3、用pytorch来书写过程
在这里插入图片描述
注:CrossEntropyLoss()包含了Softmax,因此最后面的一层不用额外激活

4、实例过程
0、调包
在这里插入图片描述
1、准备数据集在这里插入图片描述
ToTensor()是将一幅图片的所有像素点变成一个向量
Normalize是概率论中化成标准正态分布的公式:(x-u)/sigma
在这里插入图片描述
0.1307为u,0.3081为sigma 由MNIST数据集确定

2、设计模型
在这里插入图片描述
view(-1,784) -1代表程序会自动计算这个数值
在这里插入图片描述
3、构建损失函数和优化器
在这里插入图片描述
4、训练和测试
在这里插入图片描述
在这里插入图片描述
with torch.no_grad()测试时,设置无梯度运行
dim=1 横向扫描像素点
在这里插入图片描述

以上是关于pytorch学习笔记:全连接层处理图像分类问题的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch学习笔记 7.TextCNN文本分类

PyTorch学习笔记 7.TextCNN文本分类

图像分类一文带你玩转LeNet(pytorch)

Pytorch学习笔记3.深度学习基础

全连接层分类的原理

第五天 综述笔记2 10大类基于深度学习的segmentation model