mnist

python手写图片识别MNIST

安稳与你 提交于 2019-12-20 01:37:23
MNIST(Modified National Institute of Standards and Technology) MNIST被称作是计算机视觉的新手村,相当于神经网络CNN版的helloword,也是TensorFlow的初体验。提供的数据集是28*28的灰度矩阵,要分析并识别出对应原来手写图片的数字。 载入数据集 train = pd.read_csv('./input/train.csv') test = pd.read_csv('./input/test.csv') 训练集数字总览 # 数字出现总数求和,柱状图 g = sns.countplot(Y_train) plt.show() 各个数字出现的总数大致相等,没有极端情况 原始数据处理 因为训练集是28*28的灰度矩阵,取值范围是0-255的整数,数字越大对应的像素点越暗,因此/255转化成float X_train = X_train / 255.0 test = test / 255.0 X_train = X_train.values.reshape(-1, 28, 28, 1) test = test.values.reshape(-1, 28, 28, 1) Y_train = to_categorical(Y_train, num_classes=10) CNN建模 因为训练集是28

【学习笔记】卷积神经网络

核能气质少年 提交于 2019-12-18 02:05:42
目录 人工神经网络VS卷积神经网络 卷积神经网络CNN 卷积层 新的激活函数-Relu Pooling计算 Mnist数据集卷积网络实现 人工神经网络VS卷积神经网络 参数太多,在cifar-10的数据集中,只有32*32*3,就会有这么多权重,如果说更大的图片,比如200*200*3就需要120000多个,这完全是浪费。 没有利用像素之间位置信息,对于图像识别任务来说,每个像素与周围的像素都是联系比较紧密的。 网络层数限制 我们知道网络层数越多其表达能力越强,但是通过梯度下降方法训练深度人工神经网络很困难,因为全连接神经网络的梯度很难传递超过3层。因此,我们不可能得到一个很深的全连接神经网络,也就限制了它的能力。 那么,卷积神经网络又是怎样解决这个问题的呢?主要有三个思路: 局部连接:这个是最容易想到的,每个神经元不再和上一层的所有神经元相连,而只和一小部分神经元相连。这样就减少了很多参数。 权值共享:一组连接可以共享同一个权重,而不是每个连接有一个不同的权重,这样又减少了很多参数。 下采样:可以使用Pooling来减少每层的样本数,进一步减少参数数量,同时还可以提升模型的鲁棒性。对于图像识别任务来说,卷积神经网络通过尽可能保留重要的参数,去掉大量不重要的参数,来达到更好的学习效果 卷积神经网络CNN 卷积神经网络与上一篇文章中的普通神经网络非常相似

Reading MNIST Image Database binary file in MATLAB

筅森魡賤 提交于 2019-12-17 19:53:02
问题 I have a binary file from the MNIST image database, renamed as "myfile.dat". This consists of a set of 4 unsigned 32-bit integers, followed by a chain of unsigned 8-bit integers. I want to read this file and store its contents as an array. Here is my code: file_id = fopen('myfile.dat', 'rb'); data = fread(file_id, 'int'); size(data) class(data) And the output is: ans = 2502 1 ans = double The size of (2502, 1) is as expected. But why is it telling me that the data is double , when I have

TensorFlow - Show image from MNIST DataSet

自闭症网瘾萝莉.ら 提交于 2019-12-17 16:16:18
问题 I'm trying to learn TensorFlow and I implemented the MNIST example from the the following link: http://openmachin.es/blog/tensorflow-mnist I want to be able to actually view the training/test images. So I'm trying to add code that will show the first train picture of the first batch: x_i = batch_xs[0] image = tf.reshape(x_i,[28,28]) Now, because the Data is in float32 type (with values in [0,1] range), I tried to convert it to uint16 and then to encode it to png in order to show the image. I

随想录(第一个卷积神经网络)

折月煮酒 提交于 2019-12-17 09:27:45
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 之前学习了keras和mnist,知道了如何用keras编写简单的感知器。感知器的优点是比较简单,但是缺点也很明显。训练出来的识别正确率不是很高,所以自己就想试试卷积网络。网上的卷积网络算法和代码也比较多,正好可以学习一下。 1、keras支持多种卷积核 目前keras中支持多种卷积核,有Conv1D、Conv2D、Conv3D等等。 2、cnn是图像分类的标配 对于特征提取、图像分类的场景来说,cnn基本上是标配。 3、归一化 图像输入给卷积核之前一般先归一化一下,即x_train = x_train / 255 4、池化层 卷积层一般和池化层配合使用。一个卷积神经网络可能只有一组卷积层、池化层,也可能有很多组卷积层、池化层。 5、模型大小 一般而言,卷积神经网络比感知器的模型稍大一点。 6、示例代码 #!/usr/bin/python # -*- coding: utf-8 -*- # # 首次使用卷积神经网络来进行处理 20191215 # # 参考链接:https://blog.csdn.net/weixin_41055137/article/details/81071226 # 理论上卷积神经网络可以训练几千到上万次 # import numpy #from keras

TFRecord —— tensorflow 下的统一数据存储格式

允我心安 提交于 2019-12-17 01:35:16
tensorflow 提供了统一的数据存储格式,即 TFRecord(record 表示记录),以提高程序的可扩展性,当数据来源十分复杂时,仍能有效记录输入数据中的信息。 1. tfrecord 使用流程 比如对于 mnist 训练数据集,我们要将其 label 和像素内容以 TFRecord 的形式写入到本地。 所需 api: tf.python_io.TFRecordWriter(path):writer tf.train.Example() ⇒ 构建一条 record from tensorflow.examples.tutorials.mnist import input_data mnist = input_data(train_dir='./MNIST_DATA', dtype=tf.uint8, one_hot=True) labels = mnist.train.labels images = mnist.train.images num_images, num_pixels = images.shape 来源: https://www.cnblogs.com/mtcnn/p/9421407.html

mnist数据集探究

China☆狼群 提交于 2019-12-16 22:32:51
一、mnist的属性和方法 为了方便我只检查了后20个属性和方法 1 from tensorflow.examples.tutorials.mnist import input_data 2 3 mnist = input_data.read_data_sets('G:\MNIST DATABASE\MNIST_data',one_hot=True) 4 print(dir(mnist)[-20:]) 1:从tensorflow.examples.tutorials.mnist库中导入input_data文件 3:调用input_data文件的read_data_sets方法,需要2个参数,第1个参数的数据类型是字符串,是读取数据的文件夹名,第2个关键字参数ont_hot数据类型为布尔bool,设置为True,表示预测目标值是否经过One-Hot编码; 4:打印mnist后20个属性和方法 结果: Extracting G:\MNIST DATABASE\MNIST_data\train-labels-idx1-ubyte.gz WARNING:tensorflow:From C:\Program Files\Anaconda3\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:110

一文看懂AOE到底是什么!

白昼怎懂夜的黑 提交于 2019-12-16 09:27:49
一、背景 1.1 AoE是什么 AoE (AI on Edge) 是一个滴滴开源的终端侧AI集成运行时环境(IRE)。以 “稳定性、易用性、安全性” 为设计原则,帮助开发者将不同框架的深度学习算法轻松部署到终端高效执行,Github 地址是 https://github.com/didi/aoe 。 为什么要做一个 AI 终端集成运行时框架,原因有两个: 一是随着人工智能技术快速发展,这两年涌现出了许多运行在终端的推理框架,在给开发者带来更多选择的同时,也增加了将AI布署到终端的成本; 二是通过推理框架直接接入AI的流程比较繁琐,涉及到动态库接入、资源加载、前处理、后处理、资源释放、模型升级,以及如何保障稳定性等问题。 目前AoE SDK已经在滴滴银行卡OCR上应用使用,想更加清晰地理解 AoE 和推理框架、宿主 App 的关系,可以通过下面的业务集成示意图来了解它。 1.2 终端推理框架一览 下面是终端运行的8种主流推理框架(排名不分先后)。 序号 名称 开发者 开源时间 描述 1 TensorFlow Lite Google 2017 TensorFlow Lite使用Android Neural Networks API,默认调用CPU,目前最新的版本已经支持GPU。 2 Core ML Apple 2017 Core

ModuleNotFoundError: No module named 'tensorflow.examples.tutorials'

Deadly 提交于 2019-12-15 05:35:18
问题: 原因: tensorflow2.0,更新删除了input_data的函数。 解决方式: 使用tensorflow.keras.datasets.mnist.load_data 依然存在问题: mnist.train.next_batch() mnist.validation.images mnist.validation.labels mnist.test.images mnist.test.labels 等等仍然不可用,以下是老版本通过input_data提供的mnist的数据。 参考: TensorFlow2.0笔记 来源: CSDN 作者: hhhuua 链接: https://blog.csdn.net/hhhuua/article/details/103490125

tf2学习 mnist

こ雲淡風輕ζ 提交于 2019-12-14 23:29:18
源码 # !/usr/bin/python # -*- coding: UTF-8 -*- import tensorflow as tf from tensorflow . keras import datasets , layers , optimizers , Sequential , metrics import numpy as np ( train_x , train_y ) , ( test_x , test_y ) = datasets . mnist . load_data ( ) train_x = tf . convert_to_tensor ( train_x , dtype = tf . float32 ) / 255 . train_y = train_y . astype ( np . int64 ) train_dataset = tf . data . Dataset . from_tensor_slices ( ( train_x , train_y ) ) # batch_size = 100,数据集最多重复10次 train_dataset = train_dataset . batch ( 100 ) . repeat ( 10 ) # 用keras.Sequential构建一个模型,并从keras