一、模型结构用户输入的图像是一个784维的向量x,我们按照以下步骤搭建网络: 1、把x整形为【28, 28, 1】的灰度图 2、用一次3x3的卷积操作从x中抽象出32个基本特征,图像形状变成【28, 28, 32】,这些特征可以是特殊灰度的点,长度不超过3的短直线、曲线或者其他形状等。32种特征与32个通道一一对应。卷积操作有一个重要作用:从当前输入的图像所拥有的特征出发,抽象出高一级的特征。所以
转载
2024-04-23 10:35:17
137阅读
本文将用卷积神经网络模型,对手写数字集minist进行分类识别,用的框架是keras。MNIST是一个手写体数字的图片数据集,该数据集来由美国国家标准与技术研究所发起整理,一共统计了来自250个不同的人手写数字图片,其中50%是高中生,50%来自人口普查局的工作人员。该数据集的收集目的是希望通过算法,实现对手写数字的识别。训练集一共包含了 60,000 张图像和标签,而测试集一共包含了 10,00
转载
2024-05-05 13:49:28
189阅读
本文主要实现CNN卷积神经网络实现MNIST手写数字识别中的前向传播,其中的参数(权重与偏置)由文章“CNN卷积神经网络实现MNIST手写数字识别(一)训练得到本文与“CNN卷积神经网络实现MNIST手写数字识别(二)的区别在于:在前向传播过程中,所用的卷积函数、池化函数、不同层之间的数据传递均由自己手写完成,未调用任何官方函数。通过对本代码的编写,本人对卷积神经网络有了较为深入的了解,同时也可以
转载
2024-02-19 14:33:38
26阅读
1.案例背景本文是跟着Tensorflow官方文档的第二篇教程–识别手写数字。MNIST是一个简单的计算机视觉数据集,它是由一系列手写数字图片组成的,比如: 在数据集中,每一张图片会有一个标签label,表示该张图片上的数字是什么。比如以上图片所对应的标签是:5,0,4,1对于初学者,为什么开篇就要介绍这个案例呢?举个栗子, 当我们学习写程序的时候,第一句打印的就是“Hello worl
训练过程import cv2 as cv
import input_data
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
import sys
from PIL import Image, ImageFilter
import os
import time
os.environ["CUDA_DEVICE_ORDER"] =
转载
2024-06-07 19:22:48
89阅读
手写数字数据集是一个用于图像处理的数据集,这些数据描绘了 [0, 9] 的数字,我们可以用KNN 算法来识别这些数字。
上篇文章介绍了KNN 算法的原理,今天来介绍如何使用KNN 算法识别手写数字?1,手写数字数据集手写数字数据集是一个用于图像处理的数据集,这些数据描绘了 [0, 9] 的数字,我们可以用KNN 算法来识别这些数字。MNIST 是完整的手
转载
2024-06-07 21:09:17
86阅读
# 手写数字识别 ----Softmax回归模型
# regression
import os
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
data = input_data.read_data_sets("/tmp/data/", one_hot=True) # 获取数据
初次是根据“支持向量机通俗导论(理解SVM的三层境界)”对SVM有了简单的了解。总的来说其主要的思想可以概括为以下两点(也是别人的总结)1、SVM是对二分类问题在线性可分的情况下提出的,当样本线性不可分时,它通过非线性的映射算法,将在低维空间线性不可分的样本映射到高维的特征空间使其线性可分,从而使得对非线性可分样本进行线性分类。2、SVM是建立在统计学习理论的 VC理论和结构风险最小化原理基础上的
转载
2024-09-18 16:00:04
75阅读
0. 前言前面我们利用 LR 模型实现了手写数字识别,但是效果并不好(不到 93% 的正确率)。 LR 模型从本质上来说还只是一个线性的分类器,只不过在线性变化之后加入了非线性单调递增 sigmoid 函数进行一一映射。实际上,这里的非线性变换对于我们分类来说是几乎没有什么作用的(在分类上,它等价于线性变换之后挑选出输出值最大的节点作为我们的预测结果),于是我们考虑用更复杂一点的带有一个隐层的 M
一、前述本文讲述用Tensorflow框架实现SoftMax模型识别手写数字集,来实现多分类。
原创
2022-12-30 16:45:17
100阅读
接续之前的工作,搭建了一个深度网络并利用它进行手写数字识别,可以说取得了较好的效果,当然,网络的参数是根据一本书来的,这本书是一个日本人写的,叫《深度学习入门:基于Python的理论与实现》,作者在书本的第八章给出了一个深度网络的模型,我在pytorch中将这个模型实现了一遍(书作者并没有用任何框架,而是用python和几个库实现的)达到了作
手写识别简介不再赘述手写识别的相关背景。。。目前用于手写识别的设备有许多种,比如电磁感应手写板、压感式手写板、触摸屏、触摸屏、超声波笔等。ALIENTEK MiniSTM32 开发板自带 2.8 寸电阻型触摸屏,可以用来作为手写识别的输入设备。 手写数字识别系统如下图所示: 虚线部分为训练学习过程,对数据样本进行传统的方向特征提取,提取后特征维数为 512 维。对于单片机来说,如此合成的模板库的存
参考博客:《参考博客一》《参考博客二》《MNIST代码理解》所需环境:已安装opencv环境下载好MNIST数据集pycharm一些库的安装实现效果: 这是手写的两个字,进行opencv二值化处理后,得到两张28*28像素的图片,即可进
转载
2023-09-06 18:37:17
338阅读
在自己的windows环境下配置好了深度学习的环境,本文主要记录一下用深度学习的环境下实现一个简单的手写数字识别的模型训练和使用。1、在pycharm中配置conda环境: 环境配置好以后,可以开始手写数字识别的代码了2、加载tensorflow和 keras的库import tensorflow as tf
from tensorflow.keras import datasets, lay
转载
2024-04-23 13:02:04
193阅读
手写数字识别这次,我们使用CNN来实现手写数字识别。 CNN主要的层次:输入层卷积层激励层池化层全连接层CNN(Convolutional neural network),即卷积神经网络。卷积为理解为一个信号与另外一个信号进行叠加,产生新的信号的过程。 在卷积神经网络中,可认为具有固定权重的滑动窗口与原窗口的数据进行对位相乘再相加的过程。 卷积的过程:http://cs231n.github.io
转载
2024-04-25 13:09:52
121阅读
1.案例背景本文是跟着Tensorflow官方文档的第二篇教程–识别手写数字。MNIST是一个简单的计算机视觉数据集,它是由一系列手写数字图片组成的,比如: 在数据集中,每一张图片会有一个标签label,表示该张图片上的数字是什么。比如以上图片所对应的标签是:5,0,4,1对于初学者,为什么开篇就要介绍这个案例呢?举个栗子, 当我们学习写程序的时候,第一句打印的就是“Hello world”。那么
转载
2024-05-14 11:37:44
58阅读
一、MNIST数据集和DBRHD数据集简介 MNIST数据集 MNIST数据集下载链接:http://yann.lecun.com/exdb/minst/ 该数据集包含0-9的手写体图片数据集,并且图片已经归一化为以手写数字为中心的2828规格的图片。MNIST数据集由训练集和测试集组成,训练集由60000个手写体图片及对应标签,测试集有10000个手写体图片及对应标签。 1)MNIST数据集中的
转载
2024-01-15 06:07:07
135阅读
一般而言,MNIST 数据集测试就是机器学习和深度学习当中的"Hello World"工程,几乎是所有的教程都会把它放在最开始的地方.这是因为,这个简单的工程包含了大致的机器学习流程,通过练习这个工程有助于我们加深理解深度学习的大致流程.MNIST 是一个小型的手写数字图片库,它总共有 60000 张图片,其中 50000 张训练图片,10000 张测试图片.每张图片的像素都是 28 * 28 它
转载
2023-11-10 22:37:00
310阅读
1.准备数据手写数字识别的特征集是一组数值为0-9,大小为 28 * 28 矩阵的图片, 标签为与之对应的数字:2.将数据格式化为 npz 文件"""
将图片和标签整理为 npz 文件
"""
import numpy as np
import os
from PIL import Image
import json
# 读取图片
# 存到 npz 文件中的为 28 *28 的矩阵列表
tr
转载
2023-10-13 12:32:58
321阅读
1.算法理论概述 介绍ResNet-101的基本原理和数学模型,并解释其在图像识别中的优势。然后,我们将详细介绍如何使用深度学习框架实现ResNet-101,并在图像数据集上进行训练和测试。最后,我们将总结本文的主要内容并提出进一步的研究方向。 1.1、ResNet-101的基本原理