clstm 训练新模型 - wanghaisheng/awesome-ocr GitHub Wiki

http://nbviewer.jupyter.org/github/tmbdev/clstm/blob/master/misc/text-training.ipynb

由于目前clstm库仅支持读取HDF5格式的图片文件,并不支持读取保存在本地磁盘上的训练数据来训练模型,需要先将图片保存成HDF5的文件格式

Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。大多数普通计算机都支持这种文件格式。 新一代的HDF5是由NCSA于1998年发布。NCSA支持HDF4并还将继续支持几年(细节如下)。HDF5被设计为改善HDF4的一些局限性。HDF4的某些局限性有: 单个文件不能存放多于20000个对象,单个文件大小也不能大于2G字节。 数据模式的兼容性不够好,有过多的对象类型,数据类型太严格。 库函数过时和过于复杂,不能有效地支持并行口的I/O,很难用于线程应用中。 HDF5包含如下的改进: 被设计为一种新的格式用来改进HDF4.x,特别是每个文件可以存储更大的文件和更多的对象。 数据模式更简洁、更全面,它包含两个基本结构:多维数组记录结构,和分组结构。 更简洁、更利于工程库和应用编程接口,支持并行I/O,线程和其他一些现代系统和应用要求。 虽然HDF5比HDF4有明显的优势,但HDF4仍然是在科学界使用得最为广泛。许多应用软件都是基于HDF4库开发的,许多数据产品是按HDF4格式生成的。把这些应用和数据产品从HDF4转换为HDF5需要花费时间和费用。因此,NCSA仍然支持HDF4并还将持续几年。

下面以 UW3-500 Dataset数据集 为例

ERROR 10000 1.03131 3228 3130 saving best performing network so far xps.clstm error rate: 1.03131 ERROR 20000 1.12552 3228 2868 ERROR 30000 0.966178 3228 3341 saving best performing network so far xps.clstm error rate: 0.966178 ERROR 40000 1.03395 3228 3122 ERROR 50000 1.06852 3228 3021 ERROR 60000 1.08032 3228 2988 ERROR 70000 1.18502 3228 2724 ERROR 80000 1.08944 3228 2963

经过一些次数的迭代,选择几张图片测试模型是否能够识别其中的汉字

root@50975028315f:/clstm# cat ./test-ocr-2.sh
#!/bin/bash
set -ea
trap "echo clstmocrtrain FAILED" EXIT
echo misc/010220.bin.png > _ocrtest.txt
#ntrain=201 hidden=50 lrate=1e-2 save_name=_ocrtest \
#    ./clstmocrtrain _ocrtest.txt
load=xps-390400.clstm ./clstmocr _ocrtest.txt | \
    grep -s "明3758"
#rm -f _ocrtest-200.clstm _ocrtest.txt
trap "echo clstmocrtrain OK" EXIT