首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Soul Joy Hub

    TensorFlow实战——CNN(LeNet5)——MNIST数字识别

    TensorFlowinAction/blob/master/InActionB1/chapter6/mnist_inference_6_4_1.py train train部分和《TensorFlow实战——DNN——MNIST数字识别 layer5 layer3和layer4前面的类似,我们跳过它们来看layer5: pool_shape = pool2.get_shape().as_list() nodes = pool_shape pool_shape[3] reshaped = tf.reshape(pool2,[pool_shape[0],nodes]) with tf.variable_scope('layer5- 其余部分就是全连接神经网络了,layer6也和layer5类似。

    64120发布于 2019-02-13
  • 来自专栏叶子陪你玩编程

    数字识别

    上篇的内容最后一个案例代码,其实来自官方的手写数字识别案例教程,我自己基于里面的内容自己删减了一些。 这里主要讲一下里面的数据集,sklearn自带了很多数据集,在安装包的data里面,就有手写数字识别数据集。 虽说是数字识别,不过这个数据集里面并没有实际图片。 这里的数字识别核心的可以分为下面几步: 第一步:创建分类器模型 简单理解,可以看作一个映射函数,传入一个数据,就可以返回一个结果给你。 ,不过识别前都会通过测试数据测试一下,先看看准确率怎么样,确定效果还不错,就可以用来测试没有见过的数字图片了。 2.从图片文件夹中将所有数字图片读取出来 这里只是做了数字图片的读取,所以只能识别数字。 3.定义一个单张图片匹配的方法。

    2.1K10编辑于 2022-02-08
  • 来自专栏全栈程序员必看

    基于keras的手写数字识别_数字识别

    一、概述 手写数字识别通常作为第一个深度学习在计算机视觉方面应用的示例,Mnist数据集在这当中也被广泛采用,可用于进行训练及模型性能测试; 模型的输入: 32*32的手写字体图片,这些手写字体包含0~ 9数字,也就是相当于10个类别的图片 模型的输出: 分类结果,0~9之间的一个数 下面通过多层感知器模型以及卷积神经网络的方式进行实现 二、基于多层感知器的手写数字识别 多层感知器的模型如下,其具有一层影藏层 .] - ETA: 0s 10000/10000 [==============================] - 1s 112us/step MLP: 98.07% 三、基于卷积神经网络的手写数字识别 构建的卷积神经网络结构如下: 1 x 28 x 28个输入 32maps, 5 x 5 2 x 2 20% 128个 10个 输入层 卷积层 池化层 Dropout层 Flatten层 全连接层 输出层 5), input_shape=(1, 28, 28), activation='relu')) model.add(MaxPooling2D(pool_size=(2, 2))) model.add

    2.6K10编辑于 2022-10-05
  • 来自专栏全栈程序员必看

    mnist手写数字识别代码(knn手写数字识别)

    MNIST 手写数字识别模型建立与优化 本篇的主要内容有: TensorFlow 处理MNIST数据集的基本操作 建立一个基础的识别模型 介绍 S o f t m a x Softmax Softmax 回归以及交叉熵等 MNIST是一个很有名的手写数字识别数据集(基本可以算是“Hello World”级别的了吧),我们要了解的情况是,对于每张图片,存储的方式是一个 28 * 28 的矩阵,但是我们在导入数据进行使用的时候会自动展平成 Type of testing is <class 'numpy.ndarray'> 如果我们想看一看每条数据保存的图片是什么样子,可以使用 matplot()函数 # 接上面的代码 nsmaple = 5 plt.matshow(curr_img, cmap=plt.get_cmap('gray')) plt.show() 通过上面的代码可以看出数据集中的一些特点,下面建立一个简单的模型来识别这些数字 可能会自己根据情况调整所以都定义在这里 training_epochs = 50 # 一共要训练的轮数 batch_size = 100 # 每一批训练数据的数量 display_step = 5

    3.4K30编辑于 2022-08-01
  • 来自专栏.Net Core 技术栈

    opencv +数字识别

    现在很多场景需要使用的数字识别,比如银行卡识别,以及车牌识别等,在AI领域有很多图像识别算法,大多是居于opencv 或者谷歌开源的tesseract 识别. 以上几种ocr 识别比较,最后选择了opencv 的方式进行ocr 数字识别,下面讲解通过ocr识别的基本流程和算法. opencv 数字识别流程及算法解析 要通过opencv 进行数字识别离不开训练库的支持 ,需要对目标图片进行大量的训练,才能做到精准的识别出目标数字;下面我会分别讲解图片训练的过程及识别的过程. opencv 识别算法原理 1.比如下面一张图片,需要从中识别出正确的数字,需要对图片进行灰度 原图 灰度化图 二值化图 寻找轮廓 识别后的结果图 以上就是简单的图片进行灰度化、二值化、寻找数字轮廓得到的识别结果(==这是基于我之前训练过的数字模型下得到的识别结果==) 有些图片比较赋值 “.”的图片,这样就可以识别出小数点的数字支持. -2 这个分类主要是其他一些无关紧要的图片,也就是不是数字和点的都归为这一类中.

    2.9K20编辑于 2022-04-07
  • 来自专栏强化学习专栏

    MNIST手写数字识别

    文章分类在Pytorch: Pytorch(2)---《MNIST手写数字识别》 MNIST手写数字识别 一、 实验目的 掌握利用卷积神经网络CNN实现对MNIST手写数字识别。 实验内容 2.1 MNIST数据集介绍 MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片 __init__() self.conv1 = torch.nn.Sequential( torch.nn.Conv2d(1, 10, kernel_size=5) torch.nn.ReLU(), torch.nn.MaxPool2d(kernel_size=2), ) # 第二层卷积核维度是[10, 20, 5 ,5], 输入通道是10, 输出通道是20, 卷积核大小是 5*5, (默认padding=0, stride = 1) # 第二层的激活函数是Relu # 第二层池化层

    1.6K10编辑于 2024-12-03
  • 来自专栏yiyun 的专栏

    KNN 手写数字识别

    (classCount.items(), key=operator.itemgetter(1), reverse=True) return sortedClassCount[0][0] 手写数字识别 fileNameStr = trainingFileList[i] # 去掉 .txt fileStr = fileNameStr.split('.')[0] # 第一个数字为分类 fileNameStr = testFileList[i] # 去掉 .txt fileStr = fileNameStr.split('.')[0] # 第一个数字是类别

    2K20编辑于 2022-04-01
  • 来自专栏机器学习入门

    Softmax 识别手写数字

    TensorFlow 入门(二):Softmax 识别手写数字 MNIST是一个非常简单的机器视觉数据集,如下图所示,它由几万张28像素x28像素的手写数字组成,这些图片只包含灰度值信息。 我们的任务就是对这些手写数字的图片进行分类,转成0~9一共十类。 ? 我们可以用一个数字数组来表示这张图片: ? 我们把这个数组展开成一个向量,长度是 28x28 = 784。如何展开这个数组(数字间的顺序)不重要,只要保持各个图片采用相同的方式展开。 这里手写数字识别为多分类问题,因此我们采用Softmax Regression模型来处理。关于Softmax,可以参看这里。你也可以认为它是二分类问题Sigmoid函数的推广。

    2.6K40发布于 2019-05-26
  • 来自专栏企鹅号快讯

    PaddlePaddle之手写数字识别

    ,最简单的安装方式就是: CPU版本安装 pip install paddlepaddle GPU版本安装 pip install paddlepaddle-gpu 用PaddlePaddle实现手写数字识别 第一层卷积层 conv_pool_1 = paddle.networks.simple_img_conv_pool( input=img, filter_size=5, conv_pool_2 = paddle.networks.simple_img_conv_pool( input=conv_pool_1, filter_size=5, 接下来四行输出的是网络结构,然后开始输出训练结果,训练结束,我们把这几次迭代中误差最小的结果输出来,98.79%,效果还是很不错的,毕竟只迭代了5次。最后看一下输出时间,非常快,约31秒。 这次训练的手写数字识别数据量比较小,但是如果想要添加数据,也非常方便,直接添加到相应目录下。 2.event_handler机制,可以自定义训练结果输出内容。

    1.6K80发布于 2018-02-11
  • 来自专栏数据处理

    kaggle-识别手写数字

    l = np.array(l[1:], dtype=float) train = l[1:,1:] label = l[1:,0] a = pd.DataFrame(train) # 二值化,不影响数字显示 = 1 l = load_data('test.csv') test = np.array(l[1:], dtype=float) a = pd.DataFrame(test) # 二值化,不影响数字显示 画一个像素图片数字,第二个图片,上面预测是0 from PIL import Image import numpy as np import matplotlib.pyplot as plt import

    1.3K20发布于 2018-06-01
  • 来自专栏强化学习专栏

    pytorch实现 --- 手写数字识别

    文章分类在Pytorch: Pytorch(1)---《pytorch实现 --- 手写数字识别》 pytorch实现 --- 手写数字识别 1.项目介绍 使用pytorch实现手写数字识别 3.程序代码 """手写数字识别项目 时间:2023.11.6 环境:pytorch 作者:Rainbook """ import torch from torch.utils.data 手写数字有十种结果,随机猜的正确率就是1/10 print("initial accuracy:", evaluate(test_data, net)) """训练神经网络 pytorch 的固定写法 """ optimizer = torch.optim.Adam(net.parameters(), lr=0.001) for epoch in range(5):

    84810编辑于 2024-12-03
  • 来自专栏Michael阿明学习之路

    Digit Recognizer 手写数字识别

    help(KNeighborsClassifier) para_dict = [ {'weights':["uniform", "distance"], 'n_neighbors':[3,4,5] KNeighborsClassifier(), n_jobs=-1, param_grid=[{'leaf_size': [10, 20], 'n_neighbors': [3, 4, 5]

    1.5K30发布于 2020-07-13
  • 来自专栏图像处理与模式识别研究所

    手写体数字识别

    train_epochs=30 batch_size=100 total_batch=int(mnist.train.num_examples/batch_size) display_step=1 save_step=5 fig.set_size_inches(10,12) if num>25:num=25 for i in range(0,num): ax=plt.subplot(5,5,1 11.451450348 Accuracy= 0.9588 Train Finished takes: 76.92 Starting another session for prediction 算法:手写体数字识别使用的框架是由多个隐藏层组成的神经网络

    1.9K20编辑于 2022-05-29
  • 来自专栏孤独的S

    机器学习-手写数字识别

    据说,在命令行窗口打印出‘hello,world’是入门编程语言的第一个程序,那么手写数字识别就是机器学习的hello,world了,学习的东西不经常复习的容易忘记,因此在这里记录一下。 要进行手写数字识别,首先需要数据,然后在定义一个神经网络来对数据进行训练,然后把训练好的权重和模型保存起来,在另外的程序调用,并拿来测试你想要测试的图片,看看训练的结果是不是比较正确。 test_acc = network.evaluate(test_images, test_labels) print('test_acc:', test_acc) network.save('shouxie.h5' 然后再添加一个隐藏层,这里就不用定义输入个数,只需要输出的和激活函数,紧接着就是输出层了,因为我们的数字是0-9,有10个数字,这里的大小也是10,而这里的激活函数就要改成softmax,模型就这样构建完成了 到这里一个神经网络也就搭建完成了,如果需要能提取模型,以便我们使用训练的结果的话,还需要将模型保存起来,这里将模型保存成h5的格式。

    1.6K20发布于 2019-09-28
  • 来自专栏AutoML(自动机器学习)

    KNN实现手写数字识别

    KNN实现手写数字识别 博客上显示这个没有Jupyter的好看,想看Jupyter Notebook的请戳KNN实现手写数字识别.ipynb 1 - 导入模块 import numpy as np , x_test, y_test = mnist.train.images, mnist.train.labels, mnist.test.images, mnist.test.labels 展示手写数字

    1.7K90发布于 2018-01-23
  • 来自专栏Deep Learning 笔记

    MNIST__数字识别__SOFTMAX

    本次MNIST的手写数字识别未采用input_data.py文件,想尝试一下用原始的数据集来运行这个DEMO。 需要注意的一点是,源码中的图片标签采用的的ONE-HOT编码,而数据集中的标签用的是具体的数字。 例如:图片上的数字和标签的值是5,其对应的ONT-HOT编码为[0,0,0,0,0,1,0,0,0,0](分别对应数值【0,1,2,3,4,5,6,7,8,9】) ,也就是长度为10的一维数组的第6个元素为 源码结构: 1.读取MNIST 2.创建占位符(用读取的数据填充这些空占位符) 3.选用交叉熵作为损失函数 4.使用梯度下降法(步长0.02),来使损失函数最小 5.初始化变量 6.开始计算 7.输出识别率 可又说不上来~ 参考资料: ONE-HOT使用体会 : https://blog.csdn.net/lanhaier0591/article/details/78702558 训练Tensorflow识别手写数字

    1.1K10发布于 2018-08-04
  • 来自专栏算法与编程之美

    识别手绘数字图像

    1 问题 初学机器学习,第一步是做一个简单的手写数字识别,我选用的是MNIST数据集。 直接上代码 3 结语 这次实验我们深入了解和扩展了一些关于手写数字的步骤和方法,在我第一次运行花费了挺多的时间,运行完一次我再也不想运行了,心疼我电脑……初学者,不足之处甚多,恳请批评指正。

    41910编辑于 2023-08-22
  • 来自专栏全栈程序员必看

    knn算法实现手写数字识别的背景_knn手写数字识别60000训练集

    下面的是KNN案例的应用:手写数字识别。 我这里的案例是文本格式。没有图片转换的步骤。 素材模型:(源码+素材最后会贴上githup的链接) KNN 手写数字识别 实现思路: 将测试数据转换成只有一列的0-1矩阵形式 将所有(L个)训练数据也都用上方法转换成只有一列的0-1矩阵形式 #1934个训练集 ## print(len(test)) #945个测试集 trainingDigits =r'D:\work\日常任务6机器学习\day2手写数字识别 \trainingDigits' testDigits = r'D:\work\日常任务6机器学习\day2手写数字识别\testDigits' : def shibie(): ## 定义一个识别手写数字的函数 label_list = []

    1.4K40编辑于 2022-10-05
  • 来自专栏longchen的专栏

    用TensorFlow进行手写数字识别

    对于人类来说,识别手写的数字是一件非常容易的事情。我们甚至不用思考,就可以看出下面的数字分别是5,0,4,1。 但是想让机器识别这些数字,则要困难得多。 如果让你用传统的编程语言(如Java)写一个程序去识别这些形态各异的数字,你会怎么写?写很多方法去检测横、竖、圆这些基本形状,然后计算它们的相对位置?我想你很快就会陷入绝望之中。 为了找到识别手写数字的方法,机器学习界的大师Yann LeCun利用NIST(National Institute of Standards and Technology 美国国家标准技术研究所)的手写数字库构建了一个便于机器学习研究的子集 抛开这些研究成果,我们从头开始,想想怎样用机器学习的方法来识别这些手写数字。因为数字只包含0~9,对于任意一张图片,我们需要确定它是0~9中的哪个数字,所以这是一个分类问题。 关于Softmax Regression可以参考下面的文章: http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 我们的模型如下

    6.7K01发布于 2017-04-12
  • 来自专栏企鹅号快讯

    基于tensorflow的手写数字识别

    一、前言 本文主要介绍了tensorflow手写数字识别相关的理论,包括卷积,池化,全连接,梯度下降法。 二、手写数字识别相关理论 2.1 手写数字识别运算方法 图1 识别过程就像图片中那样,经过多次卷积和池化(又叫子采样),最后全连接就运算完成了。 展示了一个3*3的卷积核在5*5的图像上做卷积的过程。每个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件 (激活值越大越符合条件)的部分筛选出来。 左侧绿色5*5矩阵是输入的图片的灰度值,黄色部分是用来提取特征的卷积核(也可以叫滤波器)。 2.4 全连接 图5 左边的是没有没有进行卷积的全连接,假设图片是1000*1000的,然后用1M的神经元去感知,最后需要10^12个权值作为参数。

    1.8K70发布于 2018-02-13
领券