keras实现手写字体识别
1 本次使用的keras基础模块
- losses损失函数
- optimizers优化目标函数,比如SGD
- datasets常用数据集,比如mnist
- models序贯模型,比如Sequential
- layers神经网络中的层,比如全连接层Dense
- 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实现手写字体识别相关推荐
- 第六讲 Keras实现手写字体识别分类
一 本节课程介绍 1.1 知识点 1.图像识别分类相关介绍: 2.Mnist手写数据集介绍: 3.标准化数据预处理: 4.实验手写字体识别 二 课程内容 2.1 图像识别分类基本介绍 计算机的图像识别 ...
- 用Keras进行手写字体识别(MNIST数据集)
数据 首先加载数据 from keras.datasets import mnist(train_images, train_labels), (test_images, test_labels) = ...
- kears 7_CNN应用于手写字体识别
kears 7_CNN应用于手写字体识别 import numpy as np from keras.datasets import mnist from keras.utils import np_ ...
- pytorch CNN手写字体识别
## """CNN手写字体识别"""import torch import torch.nn as nn from torch.autogr ...
- Android Studio编写一个手写字体识别程序
1.activity_main.xml 的代码 <?xml version="1.0" encoding="utf-8"?> <LinearL ...
- 人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist)
人工智能入门第一课:手写字体识别及可视化项目(手写画板)(mnist),使用技术(Django+js+tensorflow+html+bootstrap+inspinia框架) 直接上图,项目效果 1 ...
- python手写字体程序_深度学习---手写字体识别程序分析(python)
我想大部分程序员的第一个程序应该都是"hello world",在深度学习领域,这个"hello world"程序就是手写字体识别程序. 这次我们详细的分析下手 ...
- pytorch rnn 实现手写字体识别
pytorch rnn 实现手写字体识别 构建 RNN 代码 加载数据 使用RNN 训练 和测试数据 构建 RNN 代码 import torch import torch.nn as nn from ...
- 《MATLAB 神经网络43个案例分析》:第19章 基于SVM的手写字体识别
<MATLAB 神经网络43个案例分析>:第19章 基于SVM的手写字体识别 1. 前言 2. MATLAB 仿真示例 3. 小结 1. 前言 <MATLAB 神经网络43个案例分析 ...
- 手写字体识别 --MNIST数据集
Matlab 手写字体识别 忙过这段时间后,对于上次读取的Matlab内部数据实现的识别,我回味了一番,觉得那个实在太小.所以打算把数据换成[MNIST数据集][1]. 基础思想还是相同的,使用Tre ...
最新文章
- java中的assert
- 斯坦福大学的机器学习跟深度学习。
- qt爬取网页信息_豆瓣TOP250数据爬取
- C#winform定时器的两种使用方法
- staem被盗_如何检查照片是否被盗
- 【NOI2007】货币兑换【任意坐标斜率优化】【CDQ分治】
- 人工智能python基础知识_AI 人工智能基础知识-习题
- homework-06
- 计算机辅助教学研究现状,国内计算机辅助口译教学研究的现状与思考.docx
- MVC 中 Html.RenderPartial()与Html.Partial()区别
- 秋招春招总结,经验分享(计算机专业)
- 项目做PC端页面采用rem适配的使用步骤
- vi 和 vim 编辑器的使用
- PYTHON-模块 re subprocess
- 电子签章过程中的原始数据处理
- LeetCode(跳跃游戏)
- ppt文件如何压缩到最小?
- python 轨迹 车辆_ArcGIS+ArcPy制作船舶(车辆)轨迹热力图
- Podman的基本设置和使用
- 51单片机物联网开发