资源简介
基于深度学习的手写汉字识别系统设计,系统由python、tensorflow和tkinnter实现,可以对3755类汉字进行分类,准确性在96%左右。
代码片段和文件信息
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# top 1 accuracy 0.99826 top 5 accuracy 0.99989
import os
#os.environ[“CUDA_VISIBLE_DEVICES“] = “4“
import random
import tensorflow.contrib.slim as slim
import time
import logging
import numpy as np
import tensorflow as tf
import pickle
from PIL import Image
import cv2
from tensorflow.python.ops import control_flow_ops
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
logger = logging.getLogger(‘Training a chinese write char recognition‘)
logger.setLevel(logging.INFO)
# formatter = logging.Formatter(‘%(asctime)s - %(name)s - %(levelname)s - %(message)s‘)
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
logger.addHandler(ch)
# 输入参数解析
tf.app.flags.DEFINE_boolean(‘random_flip_up_down‘ False “Whether to random flip up down“)
tf.app.flags.DEFINE_boolean(‘random_brightness‘ True “whether to adjust brightness“)
tf.app.flags.DEFINE_boolean(‘random_contrast‘ True “whether to random constrast“)
tf.app.flags.DEFINE_integer(‘charset_size‘ 3755 “Choose the first ‘charset_size‘ characters only.“)
tf.app.flags.DEFINE_integer(‘image_size‘ 64 “Needs to provide same value as in training.“)
tf.app.flags.DEFINE_boolean(‘gray‘ True “whether to change the rbg to gray“)
tf.app.flags.DEFINE_integer(‘max_steps‘ 16002 ‘the max training steps ‘)
tf.app.flags.DEFINE_integer(‘eval_steps‘ 100 “the step num to eval“)
tf.app.flags.DEFINE_integer(‘save_steps‘ 500 “the steps to save“)
tf.app.flags.DEFINE_string(‘checkpoint_dir‘ ‘./checkpoint/‘ ‘the checkpoint dir‘)
tf.app.flags.DEFINE_string(‘train_data_dir‘ ‘./dataset/train/‘ ‘the train dataset dir‘)
tf.app.flags.DEFINE_string(‘test_data_dir‘ ‘./dataset/test/‘ ‘the test dataset dir‘)
tf.app.flags.DEFINE_string(‘log_dir‘ ‘./log‘ ‘the logging dir‘)
tf.app.flags.DEFINE_boolean(‘restore‘ False ‘whether to restore from checkpoint‘)
tf.app.flags.DEFINE_boolean(‘epoch‘ 1 ‘Number of epoches‘)
tf.app.flags.DEFINE_boolean(‘batch_size‘ 128 ‘Validation batch size‘)
tf.app.flags.DEFINE_string(‘mode‘ ‘validation‘ ‘Running mode. One of {“train“ “valid“ “test“}‘)
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
FLAGS = tf.app.flags.FLAGS
class DataIterator:
def __init__(self data_dir):
# Set FLAGS.charset_size to a small value if available computation power is limited.
truncate_path = data_dir + (‘%05d‘ % FLAGS.charset_size)
print(truncate_path)
# 遍历训练集所有图像的路径,存储在image_names内
self.image_names = []
for root sub_folder file_list in os.walk(data_dir):
if root < truncate_path:
self.image_names += [os.path.join(root file_path) for file_path in file_list]
random.shuffle(self.image_names) # 打乱
# 例如image_name为./train/00001/2.png,提取00001就是其label
self.labels = [int(file_name[len(data_dir):].split(os.sep)[0]) for file_name in self.image_names]
@property
def size(self):
return len(self.labels)
@staticmethod
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-07-08 11:29 HCCR\
文件 76644 2018-02-26 19:59 HCCR\chinese_labels
文件 19820 2018-06-11 23:06 HCCR\Chinese_OCR.py
文件 15971 2018-06-11 11:33 HCCR\HCCR.py
目录 0 2018-07-08 11:17 HCCR\img\
文件 11758 2018-05-31 14:35 HCCR\img\1-1 - 副本.png
文件 11836 2018-05-03 16:18 HCCR\img\1-1.png
文件 12868 2018-06-11 14:50 HCCR\img\1-2 - 副本.png
文件 9106 2018-05-31 14:34 HCCR\img\1-2.png
文件 14335 2018-05-31 14:35 HCCR\img\1-3 - 副本.png
文件 14372 2018-05-03 16:21 HCCR\img\1-3.png
文件 13531 2018-06-11 14:49 HCCR\img\1-4.png
文件 3426662 2018-05-03 16:07 HCCR\img\1.jpg
文件 250320 2018-05-03 16:24 HCCR\img\1.png
文件 8772 2018-05-31 14:31 HCCR\img\2-1.png
文件 6558 2018-05-31 14:28 HCCR\img\3.png
文件 305 2018-07-08 11:31 HCCR\readme.txt
目录 0 2018-07-08 11:17 HCCR\test\
文件 2814 2016-12-28 22:17 HCCR\test\33315.png
文件 7132 2016-12-28 22:17 HCCR\test\35735.png
文件 4169 2016-12-28 22:17 HCCR\test\36016.png
文件 4616 2016-12-28 22:16 HCCR\test\4191.png
文件 3833 2016-12-28 22:16 HCCR\test\6006.png
文件 4764 2016-12-28 22:17 HCCR\test\60528.png
目录 0 2018-07-08 11:17 HCCR\__pycache__\
文件 136 2018-05-03 16:27 HCCR\__pycache__\config.cpython-36.pyc
文件 35910 2018-07-08 11:20 HCCR\软件界面.png
评论
共有 条评论