项目简介
本项目借助Python和TensorFlow实现汉字书法识别系统,利用神经网络模型对输入图片里的汉字进行识别。项目参考2018年10月20 - 21日的汉字书法识别自由练习赛,采用竞赛提供的包含碑帖、手写书法、古汉字等100个汉字书法单字的数据集进行训练和测试。
项目的主要特性和功能
- 多模型支持:提供AlexNet、CifarNet、Inception等多种预定义神经网络模型,可用于图像分类、图像到图像转换、目标检测等任务。
- 模型自定义:每个模型有构建函数和参数作用域函数,便于用户自定义模型结构和参数。
- 模型验证:每个模型配备测试脚本,可验证不同条件下模型的行为和输出,确保正确性。
- 便捷构建:通过工厂类(nets_factory)的便捷函数构建不同模型,简化创建过程。
- 可视化监控:支持TensorFlow的TensorBoard可视化工具,方便监控模型训练过程。
- 数据处理与预测:可完成数据预处理、tfrecord数据生成、模型训练、校验集预测并生成csv文件等操作。
安装使用步骤
前提条件
假设用户已下载项目源码文件,且安装了Python和TensorFlow 2.x版本。
具体步骤
- 安装依赖库:安装必要依赖库,如TensorFlow。特定模型可能需额外依赖库,如PIL等,按需安装。
- 下载数据集:从指定链接下载训练集和测试集数据。
- 训练集:链接: https://pan.baidu.com/s/1UxvN7nVpa0cuY1A-0B8gjg 密码: aujd
- 测试集: https://pan.baidu.com/s/1tzMYlrNY4XeMadipLCPzTw 密码: 4y9k
- 生成TFRecord数据文件:打开命令行,执行以下命令
bash cd /home/dl/offline/quiz-w7-2 python download_and_convert_data.py \ --dataset_name=quiz \ --dataset_dir=/home/dl/offline/comp.jpg/train
- 训练模型(服务器):执行以下命令
bash python train_image_classifier.py \ --dataset_dir=/home/dl/offline/comp.jpg/train \ --dataset_name=quiz \ --train_dir=/home/dl/offline/quiz-model/ckpt \ --dataset_split_name=train \ --checkpoint_path=/home/dl/offline/inception_v4/inception_v4.ckpt \ --checkpoint_exclude_scopes=InceptionV4/Logits,InceptionV4/AuxLogits/Aux_logits \ --model_name=inception_v4 \ --preprocessing_name=inception \ --max_number_of_steps=25000 \ --batch_size=32 \ --save_interval_secs=300 \ --save_summaries_secs=300 \ --log_every_n_steps=100 \ --optimizer=rmsprop \ --learning_rate=0.05 \ --learning_rate_decay_factor=0.1 \ --num_epochs_per_decay=0.5 \ --weight_decay=0.0001
- 验证eval数据:执行以下命令
bash python eval_image_classifier.py \ --checkpoint_path=/home/sophiayu/Models/train_ckpt \ --eval_dir=~ \ --dataset_name=quiz \ --dataset_split_name=validation \ --dataset_dir=/home/sophiayu/Data/手写汉字识别数据/train \ --model_name=inception_v4 \ --preprocessing_name=inception \ --batch_size=32 \ --max_num_batches=128
- 测试:执行以下命令
bash python eval_image_classifier_quiz.py \ --checkpoint_path=/home/sophiayu/Models/train_ckpt/model.ckpt-9914 \ --eval_dir=~ \ --dataset_name=quiz \ --dataset_split_name=test \ --dataset_dir=/home/sophiayu/Data/手写汉字识别数据/test2 \ --model_name=inception_v4 \ --preprocessing_name=inception \ --batch_size=32 \ --max_num_batches=128
- 创建tensorboard:执行以下命令监控训练过程
bash tensorboard --logdir=/home/dl/offline/quiz-model/train_ckpt
注意事项
- 不同模型可能需不同数据集和预处理步骤,用户需按需配置。
- 项目测试和训练过程可能需较大计算资源,使用前需确认硬件环境。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】