添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Repository files navigation

Siamese-HCCR

1. 项目简介与依赖

本项目基于TensorFlow1.8与Python3.6进行开发,依赖库如下:

pillow
pandas

2. 项目运行

运行本项目请以此执行以下步骤:

2.1 数据集部署

  • 将CASIA-Competition数据集中的所有gnt文件放置于database/competition/
  • 将CASIA-HWDB1.0数据集中的所有gnt文件放置于database/HWDB1.0
  • 将CASIA-HWDB1.1数据集中的所有gnt文件放置于database/HWDB1.1
  • 运行如下代码
  • python generate_test_data.py  #测试集将gnt转为png,存放于database/test
    python generate_train_data.py  #训练集集将gnt转为png,存放于database/train
    

    2.2 开始训练

  • 运行如下命令,自动完成tfrecord生成、模型训练、测试、数据集重构
  • python main.py

    2.3 查看训练日志

  • 运行如下命令
  • tensorboard --logdir=file/logs

    3. 项目结构树

    │  generate_test_data.py  # 生成测试数据,用于将gnt转为png,只执行1次
    │  generate_train_data.py  # 生成训练数据,用于将gnt转为png,只执行1次
    │  generate_test_tfrecord.py  # 生成测试集tfrecord,目前没有用
    │  generate_train_tfrecord.py  # 生成训练集tfrecord,对所有汉字随机采样
    │  get_matching_template.py  # 计算汉字的特征向量,目前没有用
    │  main.py  # 模型训练入口
    │  model.py  # 模型定义在这里
    │  reader.py  # 用于读取gnt文件并转为png
    │  reconstruct_train_tfrecord.py  # 依据错误的识别结果重构数据集
    │  test.py  # 测试
    │  train.py  # 训练
    └─file # 存放训练生成的文件
    │   └─results
    │   │   ├─train  # 存放训练集准确率文件
    │   │   ├─test  # 存放测试集准确率文件
    │   │   └─log  # 存放训练日志,只是空文件,标志训练进行的阶段,用于断点续训
    │   ├─tfrecord  # 存放生成的tfrecord
    │   ├─logs  # 存放tensorboard训练日志
    │   └─models  # 存放保存的ckpt模型
    └─database  # 存放训练数据
    ​     ├─competition  # 存放CASIA-Competition数据集的gnt文件
    ​     ├─HWDB1.0  # 存放CASIA-HWDB1.0数据集的gnt文件
    ​     ├─HWDB1.1  # 存放CASIA-HWDB1.1数据集的gnt文件
    ​     ├─HWDB1.2  # 存放CASIA-HWDB1.2数据集的gnt文件
    ​     ├─test  # 存放由CASIA-Competition数据集生成的png文件
    ​     ├─test-open  # 存放由CASIA-HWDB1.2数据集生成的png文件
    ​     ├─train  # 存放由CASIA-HWDB1.0-1.1数据集生成的png文件
    ​     │  gb2312_level1.csv  # 对gb2312-80的一级常用汉字进行编号
    ​     |  count.csv  # 记录训练集中每一类的样本数