主要内容: 1.基于CNN的mnist手写数字识别(详细代码注释) 2.该实现中的函数总结 平台: 1.windows 10 64位 2.Anaconda3-4.2.0-Windows-x86_64.exe (当时TF还不支持python3.6,又懒得在高版本的anaconda下配置多个Python环境,于是装了一个3-4.2.0(默认装python3.5),建议装anaconda3的最新版本,TF1.2.0版本已经支持python3.6!) 3.TensorFlow1.1.0 CNN的介绍可以…
前几天用CNN识别手写数字集,后来看到kaggle上有一个比赛是识别手写数字集的,已经进行了一年多了,目前有1179个有效提交,最高的是100%,我做了一下,用keras做的,一开始用最简单的MLP,准确率只有98.19%,然后不断改进,现在是99.78%,然而我看到排名第一是100%,心碎 = =,于是又改进了一版,现在把最好的结果记录一下,如果提升了再来更新. 手写数字集相信大家应该很熟悉了,这个程序相当于学一门新语言的“Hello World”,或者mapreduce的“WordCount…
from keras.datasets import mnist from keras.utils import np_utils from plot_image_1 import plot_image_1 from plot_prediction_1 import plot_image_labels_prediction_1 from show_train_history import show_train_history import numpy as np import pandas as…
上一节,我们已经讲解了使用全连接网络实现手写数字识别,其正确率大概能达到98%,这一节我们使用卷积神经网络来实现手写数字识别, 其准确率可以超过99%,程序主要包括以下几块内容 [1]: 导入数据,即测试集和验证集 [2]: 引入 tensorflow 启动InteractiveSession(比session更灵活) [3]: 定义两个初始化w和b的函数,方便后续操作 [4]: 定义卷积和池化函数,这里卷积采用padding,使得 输入输出图像一样大,池化采取2x2,那么就是4格变一格 [5]…
实现我们分类数字的网络 好,让我们使用随机梯度下降和 MNIST训练数据来写一个程序来学习怎样识别手写数字. 我们用Python (2.7) 来实现.只有 74 行代码!我们需要的第一个东西是 MNIST数据.如果有 github 账号,你可以将这些代码库克隆下来, git clone https://github.com/mnielsen/neural-networks-and-deep-learning.git 或者你可以到这里 下载. 顺便说一下, 当我先前说到 MNIST 数据集时,我说…
前言 上一章为大家介绍过深度学习的基础和多层感知机 MLP 的应用,本章开始将深入讲解卷积神经网络的实用场景.卷积神经网络 CNN(Convolutional Neural Networks,ConvNet)是一种特殊的深度学习神经网络,近年来在物体识别.图像重绘.视频分析等多个层面得到了广泛的应用.本文将以VGG16预训练模型为例子,从人脸识别.预训练模型.图片风格迁移.滤波分析.热力图等多过领域介绍 CNN 的应用. 目录 一.卷积神经网络的原理 二.构建第一个 CNN 对 MNIST 数字…
Android+TensorFlow+CNN+MNIST 手写数字识别实现 SkySeraph 2018 Email:skyseraph00#163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com Overview 本文系“SkySeraph AI 实践到理论系列”第一篇,咱以AI界的HelloWord 经典MNIST数据集为基础,在Android平台,基于TensorFlow,实现CNN的手写数字识别.Code~ Practice Environmen…
#classification 分类问题 #例子 分类手写数字0-9 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #数据包,如果没有自动下载 number 0 to 9 data mnist = input_data.read_data_sets('MNIST_data',one_hot=True) # 定义一个神经层 def add_layer(inputs, in_siz…
写在开头:这个实验和matlab手写神经网络实现识别手写数字一样. 实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手写数字图片,于是我就尝试用matlab写一个网络. 实验数据:5000张手写数字图片(.jpg),图片命名为1.jpg,2.jpg-5000.jpg.还有一个放着标签的excel文件. 数据处理:前4000张作为训练样本,后1000张作为测试样本. 图片处理:用matlab的imread()函数读取…
实验说明 一直想自己写一个神经网络来实现手写数字的识别,而不是套用别人的框架.恰巧前几天,有幸从同学那拿到5000张已经贴好标签的手写数字图片,于是我就尝试用matlab写一个网络. 实验数据:5000张手写数字图片(.jpg),图片命名为1.jpg,2.jpg-5000.jpg.还有一个放着标签的excel文件. 数据处理:前4000张作为训练样本,后1000张作为测试样本. 图片处理:用matlab的imread()函数读取图片的灰度值矩阵(28,28),然后把每张图片的灰度值矩阵resha…