卷积神经网络的结构

#定义网络结构
#不是le-net5的结构
class Net(nn.Module):def __init__(self):super(Net, self).__init__()# Sequential表示在搭建网络模型中要执行的一系列的步骤# Dropout中,p=0.5表示50%的神经元不工作# layer3:输出层 一般输出层中不需要加Dropout# Conv2d Conv:卷积 2d:表示2维的卷积# nn.Conv2d的几个参数# 1:输入通道数:1表示黑白的图片 彩色的话就是3# 32:输出通道数:表示要生成多少个特征图# 5:是卷积核的大小,(5,5)表示是5*5的窗口。可以只写一个5# 1表示步长。步长默认值就是1# 2表示在padding外面填2圈0 这个相当于samepadding# nn.MaxPool2d的几个参数# 第一个2是池化的窗口的大小是2*2 第二个2表示步长为2self.conv1 = nn.Sequential(nn.Conv2d(1,32,5,1,2),nn.ReLU(),nn.MaxPool2d(2,2))self.conv2 = nn.Sequential(nn.Conv2d(32,64,5,1,2),nn.ReLU(),nn.MaxPool2d(2,2))self.fc1 = nn.Sequential(nn.Linear(64*7*7,1000),nn.Dropout(p=0.5),nn.ReLU())self.fc2 = nn.Sequential(nn.Linear(1000,10),nn.Softmax(dim=1))# dim=1代表对第一个维度,计算概率值# 因为batch = 64# 所以fc1输出的是(64,10)# 所以dim=1,表示对第二个维度进行softmax求值def forward(self,x):# ([64,1,28,28])变成2维的数据->(64,784) 全连接层做计算,必须是2维的数据# x = x.view(x.size()[0],-1)# 但是卷积只能对四维的数据进行计算 ([64,1,28,28])# 64表示批次的数量,1表示通道数 28表示长宽x = self.conv1(x)x = self.conv2(x)#将原来x四维的数据,改变为2维的数据# (64,64,7,7)x = x.view(x.size()[0],-1)x = self.fc1(x)x = self.fc2(x)return x

代价函数是交叉熵,优化器是Adam,基于mnist数据集训练,30轮。

手写板的一部分代码,是借鉴的网络上的,然后我又将其魔改一番,最终形成了一个界面。运行好的效果,如下图所示。

识别结果是自动识别的,点击清空画板,画板就会清空,然后识别结果会变成99999。写下数字之后,便会自动识别。几乎是0延迟,预测结果非常的快!

pyqt5手写板+pytorch卷积神经网络,实现手写数字识别软件相关推荐

  1. 基于卷积神经网络的手写数字识别(附数据集+完整代码+操作说明)

    基于卷积神经网络的手写数字识别(附数据集+完整代码+操作说明) 配置环境 1.前言 2.问题描述 3.解决方案 4.实现步骤 4.1数据集选择 4.2构建网络 4.3训练网络 4.4测试网络 4.5图 ...

  2. 读书笔记-深度学习入门之pytorch-第四章(含卷积神经网络实现手写数字识别)(详解)

    1.卷积神经网络在图片识别上的应用 (1)局部性:对一张照片而言,需要检测图片中的局部特征来决定图片的类别 (2)相同性:可以用同样的模式去检测不同照片的相同特征,只不过这些特征处于图片中不同的位置, ...

  3. 卷积神经网络CNN 手写数字识别

    1. 知识点准备 在了解 CNN 网络神经之前有两个概念要理解,第一是二维图像上卷积的概念,第二是 pooling 的概念. a. 卷积 关于卷积的概念和细节可以参考这里,卷积运算有两个非常重要特性, ...

  4. keras从入门到放弃(十三)卷积神经网络处理手写数字识别

    今天来一个cnn例子 手写数字识别,因为是图像数据 import keras from keras import layers import numpy as np import matplotlib ...

  5. 【图像识别】基于卷积神经网络CNN手写数字识别matlab代码

    1 简介 针对传统手写数字的随机性,无规律性等问题,为了提高手写数字识别的检测准确性,本文在研究手写数字区域特点的基础上,提出了一种新的手写数字识别检测方法.首先,对采集的手写数字图像进行预处理,由于 ...

  6. 卷积神经网络mnist手写数字识别代码_搭建经典LeNet5 CNN卷积神经网络对Mnist手写数字数据识别实例与注释讲解,准确率达到97%...

    LeNet-5卷积神经网络是最经典的卷积网络之一,这篇文章就在LeNet-5的基础上加入了一些tensorflow的有趣函数,对LeNet-5做了改动,也是对一些tf函数的实例化笔记吧. 环境 Pyc ...

  7. 【FPGA教程案例100】深度学习1——基于CNN卷积神经网络的手写数字识别纯Verilog实现,使用mnist手写数字数据库

    FPGA教程目录 MATLAB教程目录 ---------------------------------------- 目录 1.软件版本 2.CNN卷积神经网络的原理 2.1 mnist手写数字数 ...

  8. CNN卷积神经网络实现手写数字识别(基于tensorflow)

    1.1卷积神经网络简介 文章目录 1.1卷积神经网络简介 1.2 神经网络 1.2.1 神经元模型 1.2.2 神经网络模型 1.3 卷积神经网络 1.3.1卷积的概念 1.3.2 卷积的计算过程 1 ...

  9. 基于卷积神经网络的手写数字识别、python实现

    一.CNN网络结构与构建 参数: 输入数据的维数,通道,高,长 input_dim=(1, 28, 28) 卷积层的超参数,filter_num:滤波器数量,filter_size:滤波器大小,str ...

  10. 卷积神经网络与循环神经网络实战 --- 手写数字识别及诗词创作

    卷积神经网络与循环神经网络实战 - 手写数字识别及诗词创作 文章目录 卷积神经网络与循环神经网络实战 --- 手写数字识别及诗词创作 一.神经网络相关知识 1. 深度学习 2. 人工神经网络回顾 3. ...

最新文章

  1. 牛!何恺明包揽2项ICCV 2017最佳论文奖!这位高考状元告诉你什么是开挂的人生
  2. vmware linux系统 ip,修改虚拟机上Linux系统的IP地址
  3. PHP文件打开读取操作
  4. 修改表字段类型长度_PG修改字段
  5. Python学习笔记(十三)
  6. 百度地图gif图标_华为手机误删照片怎么找回?手机怎么快速制作GIF动图
  7. 数据可视化组件Grafana详细解读--在Docker上安装Grafana管理平台
  8. ssis 列转换_SSIS包中的行采样转换和百分比采样转换
  9. vc6.0 debug 比 release 快??_全网稀缺的快应用开源项目熊宝儿歌故事QuickApp
  10. [Python] itertools.islice(iterable, start, stop[, step]) 创建迭代器并返回所选元素
  11. CICD详解(六)——SVN+Jenkins项目控制实战
  12. 爬取自己的csdn访问排名信息
  13. 《浪潮之巅》读书笔记(上)
  14. [高通MSM8909][Android7.1]电信卡信号优化
  15. winform直接控制云台_手持云台(稳定器)推荐,2020年双十一热销手机/相机手持云台(稳定器)推荐...
  16. Project免费视频教程来了
  17. pentaho java代码_将Pentaho移植到Eclipse_ee里运行
  18. linux下多节点之间免密钥访问
  19. 解决svn小乌龟没有绿勾
  20. 如何安装Eclipse WTP插件

热门文章

  1. 仿微信消息根据长按位置显示置顶删除功能菜单栏
  2. mysql phpmyadmin 文件夹_PHPMyadmin 配置文件详解(配置)
  3. AR/VR中使用Overlay提升清晰度
  4. mysql 关联删除_mysql如何删除关联表
  5. 3DMax插件安装方法介绍
  6. 11种防雷器电路原理详解!
  7. Vue使用指南(一)
  8. 后台找gridview里面的控件id_Windows系统有此缺陷:没设ID的,就是1001?+Windows编程如何解决...
  9. 电子台账:教程目录及软件下载
  10. 单招计算机主板图解,磐正系列主板刷bios图解新.pdf