Pytorch 实验(一) Minist手写数据集测试 1

pytorch | minist手写数据集 神经网络(Neural Network)是一种受生物神经系统(尤其是大脑神经元连接方式)启发的,是深度学习的核心基础。它通过模拟大量 “人工神经元” 的互联结构,学习数据中的复杂模式和规律,从而实现分类、预测、生成等任务。本项目采用的是每一层的神经元与下一层所有神经元连接。应用:简单分类 / 回归任务(如房价预测、鸢尾花分类)。 阅读详情

Minist手写数据集测试

(个人实践笔记,如有纰漏,烦请指出)        

import torch
import torch.nn as nn
import torchvision.datasets as dsets
import torchvision.transforms as transforms

input_size = 28 * 28 # image size of MNIST data
num_classes = 10
num_epochs = 10
batch_size = 100
learning_rate = 1e-3

# MNIST dataset
train_dataset = dsets.MNIST(root = '../../data_sets/mnist', #选择数据的根目录
                           train = True, # 选择训练集
                           transform = transforms.ToTensor(), #转换成tensor变量
                           download = False) # 不从网络上download图片
test_dataset = dsets.MNIST(root = '../../data_sets/mnist', #选择数据的根目录
                           train = False, # 选择训练集
                           transform = transforms.ToTensor(), #转换成tensor变量
                           download = False) # 不从网络上download图片
#加载数据

train_loader = torch.utils.data.DataLoader(dataset = train_dataset, 
                                           batch_size = batch_size, 
                                           shuffle = True)  # 将数据打乱
test_loader = torch.utils.data.DataLoader(dataset = test_dataset,
                                          batch_size = batch_size,
                                          shuffle = True)

class Net(torch.nn.Module):
    def __init__(self,n_input,n_hideen,n_output):
        super(Net,self).__init__()
        self.hidden = torch.nn.Linear(n_input,n_hideen)
        self.output = torch.nn.Linear(n_hideen,n_output)
    def forward(self,x):
        x = F.relu(self.hidden(x))
        x = self.output(x)
        return x
#define the neural net
net = Net(n_input=28*28,n_hideen=100,n_output=10)
optimizer = torch.optim.SGD(net.parameters(),lr = 0.0510)#0.052

loss_func = torch.nn.CrossEntropyLoss()

for i, (images, labels) in enumerate(train_loader): #利用enumerate取出一个可迭代对象的内容
    images = images.reshape(-1, 28*28)
    labels = labels
    
    out = net(images)
    loss = loss_func(out, labels)
    
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

    if i % 100 == 0:
        print('current loss = %.5f' % loss.item())
with torch.no_grad():
    correct = 0
    total = 0
    for images, labels in test_loader:
        images = images.reshape(-1, 28*28)
        labels = labels
        output_t = net(images)
        _, predicted = torch.max(output_t.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
 
    print('Accuracy of the network on the 10000 test images: {} %'.format(100 * correct / total))
 

运行结果:

current loss = 2.30939
current loss = 1.12731
current loss = 0.61168
current loss = 0.53309
current loss = 0.53291
current loss = 0.51907
Accuracy of the network on the 10000 test images: 90.12 %


运行结果很不稳定,大小在60到90之间波动,自己分析原因可能如下:

1 .  未使用batch_size。

2.   全连接网络,仅一个隐藏层,未加卷积层等。

minist手写数字的识别代码复现(pytorch 版本) 电脑系统:Windows 10语言环境:Python 3.8.18编译器:jupyter notebook深度学习环境:torch == 1.13.1+cu116显卡及显存: Tesla V100-PCIE-32GB卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种 具有局部连接、权重共享等特性的深层前馈神经网络. 目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的 前馈神经网络。 阅读详情

相关推荐

深度学习入门(1):手写minist

其中分子的 z i z_i zi​是多分类中的第 i i i类的输出值,分母将所有类别的输出值求和,使用指数函数来将其转换为概率,最终将神经网络上一层的原始数据归一化到[0,1],使用指数函数的原因是因为上一层的数据有正有负,所以使用指数函数将其变为大于0的值。需要注意,此过程不需要手动进行One-hot编码,因为NLLLoss已经帮我们自动完成了,在训练计算损失的时候,它会自动的取出样本target值对应的下标位置,此位置在One-hot中为1,其余位置因为不表示,所以在One-hot中为0。

qq_41155229的博客 978

PyTorch项目笔记(一)MNIST数字识别

本文使用PyTorch在MNIST数据集上实现了手写体数字识别

a1016249126的博客 3524

利用MINIST数据集识别手写数字

利用MINIST数据集识别手写数字

axiaoquan的专栏 1875

使用Pytorch进行读取本地的MINIST数据集并进行装载

pytorch中的torchvision.datasets中自带MINIST数据集,可直接调用模块进行获取,也可以进行自定义自己的Dataset类进行读取本地数据和初始化数据。 1. 直接使用pytorch自带的MNIST进行下载: 缺点: 下载速度较慢,而且如果中途下载失败一般得是重新进行执行代码进行下载: # # 训练数据和测试数据的下载 # 训练数据和测试数据的下载 trainDataset...

zhpf225的博客 1万+

基于pytorch的手写体识别

基于pytorch的手写体识别

m0_46155417的博客 2693

Pytorch学习笔记一:制作、加载自己的图像数据集

Pytorch学习笔记一:制作、加载自己的图像数据集 文章目录Pytorch学习笔记一:制作、加载自己的图像数据集前言一、下载数据集二、加载自己的数据集1.制作数据集2.加载数据集Dataset类定义数据集Dataloader类实例化数据集总结 前言 首先介绍如何用pytorch加载网络现有数据集,然后介绍如何制作自己的图像数据集并批量读取来训练自己的网络。 提示:以下是本篇文章正文内容,下面案例可供参考 一、下载数据集 使用Pytorch进行读取本地的MINIST数据集并进行装载 # 训练数据和

qq_43173239的博客 4496

自编码器(AE)代码

AE.py import torch import torchvision.datasets as dsets import torchvision.transforms as transforms import torchvision from torch.autograd import Variable import torch.nn as nn from time import time from AE import * num_epochs = 200 # 迭代完所有训练数据 batch_s

weixin_45514705的博客 2552

PyTorch项目笔记(一):MINST手写体数据集的识别

MINST手写体数据集的识别,利用pytorch实现。

lwh_fighting的博客 1771

3 Pytorch实例——基于Logistic 回归的手写体数字识别

import torch import torch.nn as nn import torchvision import torchvision.transforms as transforms # 设置超参数 input_size = 784 #手写体数据集每张图像分辨率为 28*28=784 num_classes = 10 #数据集共10个类别,表示数字 0~9 num_ep...

你是怎么做到的?我为什么做不到 1314

MINIST数据集的加载与机器学习模型实现

MINIST数据集是由美国国家标准与技术研究院(NIST)收集整理的一组手写数字图像数据。它包含了成千上万的手写数字图片,被广泛用作机器学习和计算机视觉领域的入门级实践案例。因其数量适中且问题清晰,MINIST数据集为初学者提供了一个理想的学习平台,同时对资深研究人员来说,它也是研究模型泛化能力的有效工具。逻辑回归是一种广为应用的统计模型,尽管名为“回归”,但它实际上是一种用于二分类问题的分类算法。其核心思想是通过使用逻辑函数来预测一个事件发生的概率。逻辑函数的输出值在0和1之间,适合用于二分类问题。

weixin_34456923的博客 986

单细胞分析实战:用R语言绘制带连线的堆叠柱状图(附完整代码)

本文详细介绍了如何使用R语言绘制带连线的堆叠柱状图进行单细胞转录组数据分析,特别适用于展示细胞比例变化趋势。通过完整代码示例和实战技巧,帮助研究者优化多组别比较的可视化效果,提升科研图表质量。

yhn4567890的博客 390

pytorch学习3-使用全连接神经网络进行MNIST数据集分类

1.模型使用 使用一层输入层,一层隐藏层,一层输出层的简单全连接神经网络,激活函数采用relu函数 2.代码如下 # -*- coding: utf-8 -*- """ Created on Mon Apr 29 10:12:03 2019 @author: hp """ import torch import torch.nn as nn import torchvision imp...

李向阳的博客 1903

Nature风格的北半球投影图,几行代码就能绘制...

在子刊***Nat. Clim. Chang.***中,通过北极俯视投影表示NAO和AO的EOF分解。仅在定义图层的时候设置为该投影,其余设置content,绘制contourf都是PlateCaree。如子刊Nature Geosci中表示了海冰的漂移,还添加了DEM底图,非常美观。以海温数据为例,ERA5月温度平均,是一张721*1440的0.25degTIF。现在的结果看起来不错,但太大了,我们如果只需要北半球的数据,则需要指定经纬度。绘制完结果也是正方形,和ArcGIS差不多,见之前的推文。

wlh2067的博客 1297

基于CNN的MINIST手写数字识别项目代码以及原理详解

本篇博文从整个项目数据集的导入到模型的构建以及最终的模型训练与测试和自定义手写数字识别,均进行了极为细致的代码分析。不仅如此,本文还将整个项目用到的所有技术以及知识点和原理都进行了极为详细的解释,利用图片以及公式力争将原理讲述的通俗易懂。通过本文,不仅可以学会手写数字识别项目的搭建过程,还可以搞懂CNN在手写数字识别项目中的应用以及背后的原理。当然,由于本人水平问题,可能有些问题解释的并不是很清晰,如有问题,还请读者与我反馈。最近也在学习这方面的知识点,读者感兴趣也可和我多交流!下面就正式开始本篇博文的内容

IronmanJay 4万+

DDSP(Differentiable Digital Signal Processing) 开篇

文章目录DDSP可以用来做什么?下一步工作 工作中接触到了DDSP声码器,但非科班出声的我对这块知识非常陌生,甚至带有一些畏惧的心理,但是为了工作为了进步,必须硬下头皮去啃,相信只要耐心地坚持,没什么能难到我。于是从今天开始,就用这个博客专栏来记录我的学习历程,希望也能帮助到你~ DDSP对应的论文是:DDSP: Differentiable Digital Signal Processing 先翻译一篇来自DDSP论文作者的对DDSP的介绍的文章。 今天,我们很高兴地介绍可微数字信号处理(DDSP)库。

YeeKo的博客 9248

Sourcetree与Gitee的完美协作:从身份验证到推送成功的全流程指南

本文提供了一份详细的Sourcetree与Gitee协作全流程指南,重点解决身份验证失败、Git版本配置及远端仓库设置等常见问题。通过分步讲解,帮助用户掌握从克隆、提交到成功推送的完整操作,并整合了使用个人访问令牌进行身份验证等关键热词信息,确保Windows与MacOS用户都能顺畅完成代码管理。

m2n3b4v5c6的博客 711

[ 数据集 ] MINIST 数据集介绍

[ 数据集 ] MINIST 数据集介绍 MINIST ``Size:`` 28×28 灰度手写数字图像; ``Num:`` 训练集 60000 和 测试集 10000,一共70000张图片; ``Classes:`` 0,1,2,3,4,5,6,7,8,9; 具体介绍了数据集的读取与可视化操作等 ...

A_John 的博客 2万+

【fNIRS可视化学习1】基于NIRS-SPM进行光极可视化并计算通道坐标

设头皮上的目标点为P₀(x₀, y₀, z₀),需要在大脑皮层点集S上找到最合适的投影点P'。

Rose9614的博客 2210

手写数据集minist基于pytorch分类学习

这个数据集包含70000张手写数字图片,分别是60000张训练图片和10000张测试图片,训练集由来自250个不同人手写的数字构成,一般来自高中生,一半来自工作人员,测试集(test set)也是同样比例的手写数字数据,并且保证了测试集和训练集的作者不同。训练过程中的打印信息我进行了修改,这里设置的训练轮数是15轮,每次训练生成的pkl模型参数也是会更新的,想要更多训练信息可以查看对应的教程哦~里面的图片数据如下所示,每张图是0-9的手写数字黑底白字的图片,存储时,黑色用0表示,白色用0-1的浮点数表示。

m0_57265868的博客 2271

从JX-2R-01热敏打印机芯到稳定打印:硬件设计与时序控制的实践指南

本文详细解析了JX-2R-01热敏打印机芯的硬件设计与驱动开发全流程。核心内容包括:实现严格的双电源上电时序控制、采用PWM恒流驱动步进电机确保走纸平稳,以及精确控制SPI数据加载与加热脉冲时序以获得清晰打印效果。文章提供了从电路设计、芯片选型到代码调试的实战指南,旨在帮助开发者构建稳定可靠的热敏打印模块。

weixin_29169899的博客 223

YOLOv8改进,YOLOv8主干网络替换为ShuffleNetV2

ShuffleNet V2的设计原则:1.减少内存访问成本:通过优化数据传输路径,减少内存访问延迟,提高整体运算速度。2.考虑平台特性:针对不同硬件平台的特性进行优化设计,确保在目标平台上的高效运行。3.结构简洁高效:采用简洁而高效的模块设计,降低计算复杂度,同时保持或提升模型的预测准确性。下图,以四种不同计算复杂度水平下的准确性(在ImageNet验证集上的分类),速度和FLOPs的测量结果。(a, c) 为GPU结果,批量大小为8。(b, d) 为ARM结果,批量大小为1。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1567

入门级Pytorch+MINIST数据集实现手写数字识别

入门级Pytorch+MINIST数据集实现手写数字识别 深度学习小白上路,找到了非常详细的教程! 原文链接:https://blog.youkuaiyun.com/sxf1061700625/article/details/105870851/ hello大家好!我又来搬文章了!我就不信还有比这更详细的?!     MNIST可以说是机器学习入门的hello word了!导师一般第一个就让你研究MNIST,研究透了,也算基本入门了。好的,今

weixin_44114632的博客 1978

六、大模型(LLMs)参数高效微调(PEFT) 面

链接: https://pan.baidu.com/s/1TYqdCK53tDFEYGtAvpnTbA 提取码: 6a9s。考核中的核心考点,并针对这些考点提供了详尽的解答。通过网盘分享的文件:06大模型(LLMs)参数高效微调(PEFT) 面。)有哪些方法,能不能稍微介绍一下它们间?这种微调方法和全参数比起来有什么劣势吗?能不能总结一下各种参数高效微调方法?高效参数微调,如何进行存储?多种不同的高效微调方法对比。模型显存占用的部分有哪些?微调方法为啥能加速训练?微调计算可训练参数的比例。

weixin_51988935的博客 537

深度学习BP手写识别MINIST

MINIST数据集即手写数字数据集,共有70000张图像,其中训练集60000张,测试集10000张。所有图像都是28×28的灰度图像,每张图像包含一个手写数字。共10个类别,每个类别代表0~9之间的一个数字,每张图像只有一个类别。

ssheudjbdndnjd的博客 1778

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pytorch学习笔记(三)——MNIST手写数据集

pytorch入门之简单回归问题目录基础知识准备功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 目录 基础知识准备 我...

weixin_43886278的博客 1649

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: Pytorch (二) Regression 回归
下一篇: # numpy预览
SpringQAQ
博客等级 码龄8年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值