1 本次使用的keras基础模块

  1. losses损失函数
  2. optimizers优化目标函数,比如SGD
  3. datasets常用数据集,比如mnist
  4. models序贯模型,比如Sequential
  5. layers神经网络中的层,比如全连接层Dense
  6. activations激活函数

2 手写体识别

import keras # 导入Keras
from keras.datasets import mnist # 从keras中导入mnist数据集
from keras.models import Sequential # 导入序贯模型
from keras.layers import Dense # 导入全连接层
from keras.optimizers import SGD # 导入优化函数
(x_train, y_train), (x_test, y_test) = mnist.load_data() # 下载mnist数据集
print(x_train.shape,y_train.shape)
print(x_test.shape,y_test.shape)
import matplotlib.pyplot as plt # 导入可视化的包
im = plt.imshow(x_train[0],cmap='gray')

输出结果: 60000张28*28的单通道灰度图

plt.show()
print (y_train[0])

输出结果:第一个训练集的样子,一个手写的数字5

x_train = x_train.reshape(60000,784) # 将图片摊平,变成向量
x_test = x_test.reshape(10000,784) # 对测试集进行同样的处理
print(x_train.shape)
print(x_test.shape)

输出结果:

3 对数据进行归一化处理

这里直接将数据除以255

x_train = x_train / 255
x_test = x_test / 255

4 对y标签进行处理,5 --> [ 0, 0, 0, 0, 0,1, 0, 0, 0, 0] ,使用keras的utils工具集中的函数可以做到

y_train = keras.utils.to_categorical(y_train,10)
y_test = keras.utils.to_categorical(y_test,10)

5 构建模型

model = Sequential() # 构建一个空的序贯模型
# 添加神经网络层
model.add(Dense(512,activation='relu',input_shape=(784,)))
model.add(Dense(256,activation='relu'))
model.add(Dense(10,activation='softmax'))
model.summary()

输出结果:第一层和第二层用relu激活函数输出,第三层用softmax函数输出

6 将神经网络进行编译

model.compile(optimizer=SGD(),loss='categorical_crossentropy',metrics=['accuracy'])

7 模型的训练

model.fit(x_train,y_train,batch_size=64,epochs=5,validation_data=(x_test,y_test)) # 此处直接将测试集用作了验证集

8 模型评价

score = model.evaluate(x_test,y_test)
print("loss:",score[0])
print("accu:",score[1])

输出结果:精确度达到94%

keras实现手写字体识别相关推荐

  1. 第六讲 Keras实现手写字体识别分类

    一 本节课程介绍 1.1 知识点 1.图像识别分类相关介绍: 2.Mnist手写数据集介绍: 3.标准化数据预处理: 4.实验手写字体识别 二 课程内容 2.1 图像识别分类基本介绍 计算机的图像识别 ...

  2. 用Keras进行手写字体识别(MNIST数据集)

    数据 首先加载数据 from keras.datasets import mnist(train_images, train_labels), (test_images, test_labels) = ...

  3. kears 7_CNN应用于手写字体识别

    kears 7_CNN应用于手写字体识别 import numpy as np from keras.datasets import mnist from keras.utils import np_ ...

  4. pytorch CNN手写字体识别

    ## """CNN手写字体识别"""import torch import torch.nn as nn from torch.autogr ...

  5. Android Studio编写一个手写字体识别程序

    1.activity_main.xml 的代码 <?xml version="1.0" encoding="utf-8"?> <LinearL ...

  6. 人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist)

    人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist),使用技术(Django+js+tensorflow+html+bootstrap+inspinia框架) 直接上图,项目效果 1 ...

  7. python手写字体程序_深度学习---手写字体识别程序分析(python)

    我想大部分程序员的第一个程序应该都是"hello world",在深度学习领域,这个"hello world"程序就是手写字体识别程序. 这次我们详细的分析下手 ...

  8. pytorch rnn 实现手写字体识别

    pytorch rnn 实现手写字体识别 构建 RNN 代码 加载数据 使用RNN 训练 和测试数据 构建 RNN 代码 import torch import torch.nn as nn from ...

  9. 《MATLAB 神经网络43个案例分析》:第19章 基于SVM的手写字体识别

    <MATLAB 神经网络43个案例分析>:第19章 基于SVM的手写字体识别 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网络43个案例分析 ...

  10. 手写字体识别 --MNIST数据集

    Matlab 手写字体识别 忙过这段时间后,对于上次读取的Matlab内部数据实现的识别,我回味了一番,觉得那个实在太小.所以打算把数据换成[MNIST数据集][1]. 基础思想还是相同的,使用Tre ...

最新文章

  1. java中的assert
  2. 斯坦福大学的机器学习跟深度学习。
  3. qt爬取网页信息_豆瓣TOP250数据爬取
  4. C#winform定时器的两种使用方法
  5. staem被盗_如何检查照片是否被盗
  6. 【NOI2007】货币兑换【任意坐标斜率优化】【CDQ分治】
  7. 人工智能python基础知识_AI 人工智能基础知识-习题
  8. homework-06
  9. 计算机辅助教学研究现状,国内计算机辅助口译教学研究的现状与思考.docx
  10. MVC 中 Html.RenderPartial()与Html.Partial()区别
  11. 秋招春招总结,经验分享(计算机专业)
  12. 项目做PC端页面采用rem适配的使用步骤
  13. vi 和 vim 编辑器的使用
  14. PYTHON-模块 re subprocess
  15. 电子签章过程中的原始数据处理
  16. LeetCode(跳跃游戏)
  17. ppt文件如何压缩到最小?
  18. python 轨迹 车辆_ArcGIS+ArcPy制作船舶(车辆)轨迹热力图
  19. Podman的基本设置和使用
  20. 51单片机物联网开发

热门文章

  1. 图解Kafka中的数据采集和统计机制
  2. 牛逼!分享一款基于 SpringBoot 的微信点餐系统(附源码)
  3. 一个程序员父亲的呼吁:不要教你的孩子从小学编程!
  4. 点餐系统数据库设计--SQL Server
  5. novatel计算odom--GPS坐标与UTM坐标转换
  6. 通达信股票软件日线数据分析
  7. laravel 中Predis使用手册
  8. 酒店IPTV数字电视系统解决方案
  9. idea+java+mysql+SQLyog安装教程
  10. jsp技术(一)—— jsp简介与原理