手写数字识别总结

news/2024/12/21 20:43:22/文章来源:https://www.cnblogs.com/Rickkie/p/18404993

项目介绍:

img

每张图片都是28*28的像素

img

1,使用全连接层
图像拆分成一维像素阵列作为输入值,输入到神经网络中。打包多个图像输入称为一个batch

img

2,输出数据需要做归一化,使数据概率在0-1之间

img

3,一个batch_size设置为15,共训练两次
通过调节a和b,使训练值与真实值的误差减小,形成一个最优解的问题

img

4,加入激活函数,使之变成非线性问题

img

本次项目激活函数使用整流函数,也称为线性整流函数(Rectified Linear Unit, ReLU)

img

使用GPU训练网络

数据会自动放在cpu中
使用GPU训练主要有三部分,网络模型、数据(输入、标注)、损失函数
必须确保这三部分在都CPU中或GPU上,否则报错

使用方式:使用if torch.cuda.is_available()判断GPU是否可用

  1. xx.cuda()放到GPU上 或者 xx.cpu()放回到cpu上
  2. device = torch.device("cpu")
    device1 = torch.device("cuda")
    xx.to(device)放回到cpu上
    xx.to(device1)放到gpu上
  3. device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

mnist数据集下载问题

如果网络可以,pytorch会自动下载mnist数据集,如果下载失败,下面介绍手动下载

手动下载mnist数据集文件,并导入pytorch的方法

  1. 下载原始文件,如下图所示

img

  1. 执行dataset.MNIST()下载失败之后会生成MNIST-raw文件夹

img
img

  1. 将第一步的文件放入raw文件夹,再次执行dataset.MNIST()即可完成,数据集导入

matplotlib.pyplot报错

使用matplotlib.pyplot遇到can‘t convert cuda:0 device type tensor to numpy. Use Tensor.cpu() to copy the tensor to host memory问题

解决问题:matplotlib.pyplot执行之前需要将神经网络和数据都转移到cpu中

  net = net.cpu()x = x.cpu()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/794575.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

h5新特性

新增语义化标签header:整个页面或部分区域的头部footer:整个页面,或者部分区域的底部nav:导航article:文章、帖子、杂志、博客、评论等section:页面中的某段文字或者文章中的某段文字aside:侧边栏main:文档的主要内容,(WHATWG没有语义,IE不支持)hgroup:包裹连续的标题,如文章…

Python存储与读写二进制文件

本文介绍了一种在Python中将Numpy数组转存为一个紧凑的二进制格式的文件,及其使用内存映射的形式进行读取的方案。一个二进制的数据流,不仅可以更加方便页形式的内存映射,相比于传统的Numpy单精度浮点数数组还有一个可哈希的特性。总体来说是一个对于高性能计算十分友好的存…

IIS标识介绍

原文链接:https://blog.csdn.net/weixin_30607659/article/details/95294969 应用程序池的标识是运行应用程序池的工作进程所使用的服务帐户名称。默认情况下,应用程序池以 Network Service 用户帐户运行,该帐户拥有低级别的用户权限。您可以将应用程序池配置为以 Windows S…

SQL SERVER -- JSON处理

-- JSON 字符串转 行记录 Declare @JsonStr Nvarchar(Max)=[{"State":0,"Name":"语文","ReMark":"了解国学信息","RepDtl":[{"ID":1,"Age":11},{"ID":2,"Age":12},{&quo…

添加字体(以课堂“谁能许我扶桑花期字体“为例)

1.进入https://font.chinaz.com/此网址,在搜索栏搜索“谁能许我扶桑花期字体”,点击下载 2.下载后为font1618.rar压缩文件,将文件放于桌面并进行解压 3.解压后的文件夹中包括三个文件,如图将【谁能许我扶桑花期】.ttf文件进行复制 4.打开“我的电脑(计算机)”,在地址栏输入…

2-4Java重写与重载

Java 重写与重载 重写(Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 重写方法不能抛出新的检查异…

django 路由相关

路由系统 1 常见操作 通俗的语言来表示:URL -> 函数对应关系2 路由源码分析 2.1 路由定义的本质from django.urls import path, re_path from apps.www import viewsfrom django.urls import URLPattern from django.urls.resolvers import RoutePatternurlpatterns = […

django环境相关

1.项目相关新项目开发时,可能遇到使用其他的版本。 虚拟环境老项目打开项目 虚拟环境1.1 关于新项目 1.系统解释器+命令行【学习】 C:/python38- python.exe- Scripts- pip.exe- pip3.8.exe- django-admin.exe- Lib- re.py- site-pakages- djangoC:/python39- python.exe- Scr…

高等数学 1.2数列的极限

目录数列极限的定义数列的概念数列极限的定义收敛数列的性质 数列极限的定义 数列的概念 如果按照某一法则,对每个 \(n \in \mathbb{N}_+\) ,对应着一个确定的实数 \(x_n\) ,这些实数 \(x_n\) 按照下标 \(n\) 从大到小排列得到的一个序列 \[x_1, x_2, x_3, \cdots, x_n, \cd…

gti前端代码提交

git bash中前端切换分支提交遇到的不懂的地方第一次gti前端提交 根据提示一步步看 首先 git check dev此时可能会报错: error: Your local changes to the following files would be overwritten by checkout: .env.development package.json Please commit your changes or s…

Ubuntu使用dd命令实现硬盘级复制

以前的Ubuntu系统用的机械硬盘,因为读写次数太多,已经出现问题了,速度很慢,开机提示坏道,于是买了一个固态硬盘,准备重装系统,但是重装系统,各种驱动、环境都要重装,太麻烦了,于是准备把以前的硬盘完整的复制到新硬盘,这样就不用重装各种驱动、环境了. 把新硬盘接上…

FancyVideo环境搭建推理

​引子很少关注360开源的代码,最近360AI团队开源了最新视频模型FancyVideo,据说RTX3090可跑。可以在消费级显卡 (如 GeForce RTX 3090) 上生成任意分辨率、任意宽高比、不同风格、不同运动幅度的视频,其衍生模型还能够完成视频扩展、视频回溯的功能,一种基于 UNet 架构的视…