linux手写数字识别,mnist手写数字识别与图片预处理
用户mnist训练了一个模型,想用自己的图片进行测试,需要将自己的图片进行预处理为mnist需要的1*784的二维张量。
因为MNIST数据是28*28的黑底白字图像,而且输入时要将其拉直,也就是可以看成1*784的二维张量(张量的值在0~1之间),所以我们要对图片进行预处理操作,是图片能被网络识别。
引入的库import tensorflow as tf
import pylab
from PIL import Image
import numpy as np
以下为图片预处理过程img = Image.open('./mytestcode/666.jpg').convert('L') # 读取图片转成灰度格式
img = img.resize((28, 28)) # 更改图片大小 我的图片原始大小为:(366, 368)
npimg1 = np.array(img) # 转为numpy矩阵
flatten_img = npimg1.reshape(1, 784) # 转为mnist1*784二维张量
# 以下意思是把白色背景转为黑色背景,因为训练的都是黑色背景
new_flatten_img = (255-flatten_img)/255.0
new_flatten_img = new_flatten_img.reshape(1, 784) # -------- 该数据可直接被模型识别
print(new_flatten_img.shape)
以下为用训练好的模型识别过程tf.reset_default_graph()
# tf Graph Input
x = tf.placeholder(tf.float32, [None, 784]) # mnist data维度 28*28=784
y = tf.placeholder(tf.float32, [None, 10]) # 0-9 数字=> 10 classes
# Set model weights
W = tf.Variable(tf.random_normal([784, 10]))
b = tf.Variable(tf.zeros([10]))
# 构建模型
pred = tf.nn.softmax(tf.matmul(x, W) + b) # Softmax分类
saver = tf.train.Saver()
model_path = "log/521model.ckpt" # 这是我训练好模型的保存位置
with tf.Session() as sess:
# 初始化
sess.run(tf.global_variables_initializer())
# 从先前保存的模型恢复模型权重
saver.restore(sess, model_path)
output = tf.argmax(pred, 1)
outputval = sess.run(output, feed_dict={x: new_flatten_img})
print(outputval) # 为预测结果
#print(batch_xs.shape)
# 打印自己的图片
im = flatten_img
im = im.reshape(-1,28)
pylab.imshow(im)
pylab.show()
linux手写数字识别,mnist手写数字识别与图片预处理相关推荐
- 用Python实现BP神经网络识别MNIST手写数字数据集(带GUI)
概述 计算机神经网络则是人工智能中最为基础的也是较为重要的部分,它使用深度学习的方式模拟了人的神经元的工作,是一种全新的计算方法.本文的目标就是通过学习神经网络的相关知识,了解并掌握BP神经网络的实现 ...
- 【原创】深度学习第7弹:小D识数字(MNIST手写数字集)
目录 一.前文回顾 二.MNIST手写数字数据集 1.什么是MNIST手写数字数据集 2.MNIST手写数字数据集下载 三.重构神经网络 1.为什么要重构神经网络 2.重构什么样的神经网络 四.识别数 ...
- matlab文字bp识别,MNIST手写字体识别(CNN+BP两种实现)-Matlab程序
[实例简介] MNIST手写字 Matlab程序,包含BP和CNN程序.不依赖任何库,包含MNIST数据,BP网络可达到98.3%的识别率,CNN可达到99%的识别率.CNN比较耗时,关于CNN的程序 ...
- 基于TensorFlow1.4.0的FNN全连接网络识别MNIST手写数据集
MNIST手写数据集是所有新手入门必经的数据集,数据集比较简单,训练集为50000张手写图片,测试集为张手写图片10000,大小都为28*28,不用自己下载,直接从TensorFlow导入即可 后续随 ...
- Ubuntu18 Win10搭建Caffe训练识别mnist手写数字demo
ubuntu 系统下的Caffe环境搭建 对于caffe的系统一般使用linux系统,当然也有windows版本的caffe,不过如果你一开始使用了windows下面的caffe,后面学习的过程中,会 ...
- Tensorflow之 CNN卷积神经网络的MNIST手写数字识别
点击"阅读原文"直接打开[北京站 | GPU CUDA 进阶课程]报名链接 作者,周乘,华中科技大学电子与信息工程系在读. 前言 tensorflow中文社区对官方文档进行了完整翻 ...
- Pytorch实现mnist手写数字识别
2020/6/29 Hey,突然想起来之前做的一个入门实验,用pytorch实现mnist手写数字识别.可以在这个基础上增加网络层数,或是尝试用不同的数据集,去实现不一样的功能. Mnist数据集如图 ...
- 用Python搭建2层神经网络实现mnist手写数字分类
这是一个用python搭建2层NN(一个隐藏层)识别mnist手写数据集的示例 mnist.py文件提供了mnist数据集(6万张训练图,1万张测试图)的在线下载,每张图片是 28 ∗ 28 28*2 ...
- TensorflowSharp 简单使用与KNN识别MNIST流程
机器学习是时下非常流行的话题,而Tensorflow是机器学习中最有名的工具包.TensorflowSharp是Tensorflow的C#语言表述.本文会对TensorflowSharp的使用进行一个 ...
最新文章
- Android ViewAnimationUtils (动画) 的使用
- php swoole 项目实战,Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)...
- 9008刷机模式写入超时刷机帮_刷机时没有成功,然后变成黑砖,usb接口直接变成未知设备~希望大神救助!...
- JavaScript逻辑运算符
- nutch代码分析第一篇——综述
- 解决Rigify报错:“Please specify a valid pivot bone position. Incorrect armature for type ‘basic_spine‘”
- 工作记忆的认知神经科学
- 函数式编程Haskell初探
- sudo su与su的区别
- 学习web渗透测试国内、国外在线网站
- python学习笔记之pyinstaller failed to execute script问题
- JAVA六大设计原则 和 23种设计模式
- Spring Web(第一部分)
- 微软求职攻略之笔试答疑
- 【微信小程序】不支持使用本地图片设置背景图片解决方法
- c语言读dbf文件格式,C语言直接读取FOXBASE的DBF文件
- ESP8266(ESP-12F) 第三方库使用 -- SparkFun_APDS9960 (手势识别)
- 360 重磅开源性能监控平台 ArgusAPM
- hd6305 GPRS 结构体 Server 对齐
- 小米手机怎么删除桌面计算机,小米手机如何删除桌面文件夹?