softmax识别FashionMNIST数据集代码详解

本文介绍了softmax回归在多分类问题中的应用,通过FashionMNIST数据集进行演示。首先,加载并展示了数据集,然后设置了批量大小进行训练。接着,初始化模型参数,定义了线性模型、softmax函数、损失函数、准确度计算和梯度下降优化器。最后,训练模型并在训练集和测试集上评估了准确性。经过4个epoch的训练,模型取得了较高的准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

softmax回归

一、softmax用来干什么?

  1. 单一的线性模型只能处理二分类问题,对于多分类问题,引入softmax回归

  2. 线性回归模型适用于输出为连续值的情景。在另一类情景中,模型输出可以是一个像图像类别这样的离散值。对于这样的离散值预测问题,我们可以使用诸如softmax回归在内的分类模型。和线性回归不同,softmax回归的输出单元从一个变成了多个,且引入了softmax运算使输出更适合离散值的预测和训练

二、代码

1.引入库

import torch
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import torchvision
from d2l import torch as d2l

train_data=torchvision.datasets.FashionMNIST(root='~/data',train=True,download=True,transform=transforms.ToTensor())
test_data=torchvision.datasets.FashionMNIST(root='~/data',train=False,download=True,transform=transforms.ToTensor())

说明1、train_data,test_data,分别是FashionMNIST数据集的训练集和测试集,其中对于下载下来的图像集,需要把它转换为tensor类型,否则返回的是PIL图像,并且此时的尺寸由(H W C)变为(C H W)

2.验证第一张图像的尺寸和类别

print(train_data[0][0].shape,train_data[0][1])
#torch.Size([1, 28, 28])  9

3.展示前十张图片

def show_images(images):
    plt.Figure()
    _,figs = plt.subplots(1,10,figsize=(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lins H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值