资源简介
基于卷积神经网络的手写数字识别,工具使用Google的人工智能TensorFlow库,识别准确率高,代码使用python3.0以上版本
代码片段和文件信息
import tensorflow as tf
import numpy as np
from PIL import Image
import forward as fw
import backward as bw
import time
import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL‘]=‘2‘
def restore_model(testPivArr):
with tf.Graph().as_default() as g:
x= tf.placeholder(tf.float32[1fw.IMAGE_SIZE fw.IMAGE_SIZE 1])
# x = tf.placeholder(tf.float32 [1784])
y= fw.forward(xFalseNone)
preValue= tf.argmax(y1)
variable_averages= tf.train.ExponentialMovingAverage(bw.MOVING_AVERAGE_DECAY)
variable_to_restore= variable_averages.variables_to_restore()
saver= tf.train.Saver(variable_to_restore)
with tf.Session() as sess:
ckpt = tf.train.get_checkpoint_state(bw.MODEL_SAVE_PATH)
if ckpt and ckpt.model_checkpoint_path:
saver.restore(sess ckpt.model_checkpoint_path)
ypreValue= sess.run([ypreValue]feed_dict={x:testPivArr})
return preValue
else:
print(‘没有找到训练节点‘)
return -1
def pre_pic(picName):
img= Image.open(picName)
im_arr= np.array(img.convert(‘L‘))
threshold=50
for i in range(fw.IMAGE_SIZE):
for j in range(fw.IMAGE_SIZE):
im_arr[i][j]=255- im_arr[i][j]
if im_arr[i][j] im_arr[i][j]=0
else:
im_arr[i][j] = 255
nm_arr= im_arr.reshape([1784])
nm_arr= nm_arr.astype(np.float32)
img_ready= np.dot(nm_arr1.0/255.0)
img_ready=np.reshape(img_ready[-1fw.IMAGE_SIZE fw.IMAGE_SIZE 1])
return img_ready
def application():
testPath = input(“input the folder of test pictures:“)
start = time.clock()
for filename in os.listdir(testPath): # listdir的参数是文件夹的路径
print(“the name of test picture:“filename)
testPicArr = pre_pic(testPath+“/“+filename)
preValue = restore_model(testPicArr)
print(“预测数字可能是:“preValue)
print(‘###############################################‘)
elapsed = (time.clock() - start)
print(‘预测所用时间:‘elapsed)
def main():
# mnist = input_data.read_data_sets(‘MNIST_data‘ one_hot=True)
application()
if __name__==‘__main__‘:
main()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2649 2018-05-05 17:31 backward.py
文件 2218 2018-05-05 17:31 forward.py
文件 1435 2018-04-17 13:57 handWriteNumber.py
文件 1881 2018-05-05 17:31 test.py
文件 2343 2018-05-05 17:31 app.py
相关资源
- tensorflow手写数字识别python源码案例
- Tensorflow之CNN实现CIFAR-10图像的分类p
- cython_bbox.so
- 适合的新手-CNN代码
- tensorflow2.0实现mnist手写数字识别代码
- CNN网络识别Mnist的源码,有详细注释,
- CNN_源代码
- 手写体数字识别原始数据和贝叶斯代
- 基于Python+Theano实现的Lenet5源代码(附
- 支持向量机进行数字识别
- faster rcnn end-to-end loss曲线的绘制
- 卷积神经网络回归模型
- Python+Tensorflow+CNN实现车牌识别的
- 手写数字识别源码 识别率98%以上 无
- 利用keras实现的cnn卷积神经网络对手写
- AI智能五子棋Python代码
- CNN卷积神经网络TensorFlow代码
- DeepLab-ResNet-101
- 手写数字识别
- 卷积神经网络(CNN)源码
- Practical Computer Vision Applications Using D
- minist+CNN+交叉验证
- faster Rcnn(python)demo
- keras+tensorflow CNN
- 基于python实现的手写数字识别
- 基于MTCNN实现制作脸部VOC格式数据集
- mnist_CNN 深度学习小
- 深度学习之一:卷积神经网络(CNN)
- 深度学习之二:用Tensorflow实现卷积神
- python手写数字识别包含minist数据集
评论
共有 条评论