diff --git a/README.md b/README.md
index 638ff4b..b2068fe 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,14 @@
-# CRNN_Attention_OCR
-CRNN with attention to do OCR,this is just a toy code to show how use seq2seq with attention in OCR
-## network model
-CRNN is base CNN,and BiLSTM with 256 hidden_units is encode network ,GRU with 256 hidden_units is decode network
-
-## how to use
-put your image in 'train' dir,and image name should be like "xx_label_xx.jpg",Parameters are set in config.py,
and then just run the train.py
-
-## Dependency Library
+# 用CRNN+seq2seq+attention识别中文
+中文类别为5990类,类别可以在char_std_5990找到,中文样本的合成参考的是caffe_ocr项目,
+## 网络结构
+CNN用的是CRNN中的结构,一层双向lstm做编码器,一层GRU做解码器
+## 如何训练
+训练需要2个txt文件(train.txt,test.txt)保存图片的名字以及label,
+可以在这里下载样本[(caffe_ocr)百度网盘](https://pan.baidu.com/s/1dFda6R3#list/path=%2F)
+在config.py里修改路径,运行train.py
+## 依赖
TensorFlow >=1.2
-opencv
+opencv
+## 引用
+[caffe_ocr](https://github.com/senlinuc/caffe_ocr)
+[attention-ocr-toy-example](https://github.com/ray075hl/attention-ocr-toy-example)
diff --git a/char_std_5990.txt b/char_std_5990.txt
new file mode 100644
index 0000000..fbb6e35
--- /dev/null
+++ b/char_std_5990.txt
@@ -0,0 +1,5990 @@
+blank
+,
+的
+。
+一
+是
+0
+不
+在
+有
+、
+人
+“
+”
+了
+中
+国
+大
+为
+1
+:
+上
+2
+这
+个
+以
+年
+生
+和
+我
+时
+之
+也
+来
+到
+要
+会
+学
+对
+业
+出
+行
+公
+能
+他
+于
+5
+e
+3
+而
+发
+地
+可
+作
+就
+自
+们
+后
+成
+家
+日
+者
+分
+多
+下
+其
+用
+方
+本
+得
+子
+.
+高
+4
+过
+经
+6
+现
+说
+与
+前
+o
+理
+工
+所
+力
+t
+如
+将
+军
+部
+,
+事
+进
+9
+司
+场
+同
+机
+主
+都
+实
+天
+面
+市
+8
+i
+a
+新
+动
+开
+n
+关
+定
+还
+长
+此
+月
+7
+道
+美
+心
+法
+最
+文
+等
+当
+第
+好
+然
+体
+全
+比
+股
+通
+性
+重
+三
+外
+s
+但
+战
+;
+相
+从
+你
+r
+内
+无
+考
+因
+小
+资
+种
+合
+情
+去
+里
+化
+次
+入
+加
+间
+些
+度
+?
+员
+意
+没
+产
+正
+表
+很
+队
+报
+已
+名
+海
+点
+目
+着
+应
+解
+那
+看
+数
+东
+位
+题
+利
+起
+二
+民
+提
+及
+明
+教
+问
+)
+制
+期
+(
+元
+游
+女
+-
+并
+曰
+十
+果
+)
+么
+注
+两
+专
+样
+信
+王
+平
+己
+金
+务
+使
+电
+网
+代
+手
+知
+计
+至
+常
+(
+只
+展
+品
+更
+系
+科
+门
+特
+想
+西
+l
+水
+做
+被
+北
+由
+c
+》
+万
+老
+向
+《
+记
+政
+今
+据
+量
+保
+建
+物
+区
+管
+见
+安
+集
+或
+认
+程
+h
+总
+—
+少
+身
+先
+师
+球
+价
+空
+旅
+又
+求
+校
+强
+各
+非
+立
+受
+术
+基
+活
+反
+!
+世
+何
+职
+导
+任
+取
+式
+[
+]
+试
+才
+结
+费
+把
+收
+联
+直
+规
+持
+赛
+社
+四
+山
+统
+投
+南
+原
+该
+院
+交
+达
+接
+头
+打
+设
+每
+别
+示
+则
+调
+处
+义
+权
+台
+感
+斯
+证
+言
+五
+议
+d
+给
+决
+论
+她
+告
+广
+企
+格
+增
+让
+指
+研
+商
+客
+太
+息
+近
+城
+变
+技
+医
+件
+几
+书
+选
+周
+备
+m
+流
+士
+京
+传
+u
+放
+病
+华
+单
+话
+招
+路
+界
+药
+回
+再
+%
+服
+什
+改
+育
+口
+张
+需
+治
+德
+复
+准
+马
+习
+真
+语
+难
+始
+"
+际
+观
+完
+标
+共
+项
+容
+级
+即
+必
+类
+领
+A
+C
+未
+w
+型
+案
+线
+运
+历
+首
+风
+视
+色
+尔
+整
+质
+参
+较
+云
+具
+布
+组
+办
+气
+造
+争
+往
+形
+份
+防
+p
+它
+车
+深
+神
+称
+g
+况
+推
+越
+英
+易
+且
+营
+条
+消
+命
+团
+确
+S
+划
+精
+足
+儿
+局
+飞
+究
+功
+索
+走
+望
+却
+查
+武
+思
+兵
+识
+克
+故
+步
+影
+带
+乐
+白
+源
+史
+航
+志
+州
+限
+清
+光
+装
+节
+号
+转
+图
+根
+省
+许
+引
+势
+失
+候
+济
+显
+百
+击
+f
+器
+象
+效
+仅
+爱
+官
+包
+供
+低
+演
+连
+夫
+快
+续
+支
+验
+阳
+男
+觉
+花
+死
+字
+创
+素
+半
+预
+音
+户
+约
+率
+声
+请
+票
+…
+便
+构
+T
+存
+食
+y
+段
+远
+责
+M
+拉
+房
+随
+断
+极
+销
+林
+亚
+隐
+超
+获
+升
+B
+采
+I
+算
+益
+优
+愿
+找
+按
+维
+态
+满
+尽
+令
+汉
+委
+八
+终
+训
+值
+负
+境
+练
+母
+热
+适
+江
+住
+列
+举
+景
+置
+黄
+听
+除
+读
+众
+响
+友
+助
+弹
+干
+孩
+边
+李
+六
+甚
+罗
+致
+施
+模
+料
+火
+像
+古
+眼
+搜
+离
+D
+闻
+府
+章
+早
+照
+速
+录
+页
+卫
+青
+例
+石
+父
+状
+农
+排
+降
+千
+P
+择
+评
+疗
+班
+购
+属
+革
+够
+环
+占
+养
+曾
+米
+略
+站
+胜
+①
+核
+否
+独
+护
+钱
+/
+红
+范
+另
+须
+余
+居
+虽
+毕
+攻
+族
+吃
+喜
+陈
+G
+轻
+亲
+积
+星
+假
+b
+县
+写
+刘
+财
+亿
+某
+括
+律
+酒
+策
+初
+批
+普
+片
+协
+售
+乃
+落
+留
+岁
+突
+双
+绝
+险
+季
+谓
+严
+村
+E
+兴
+围
+依
+念
+苏
+底
+压
+破
+河
+怎
+细
+富
+切
+乎
+待
+室
+血
+帝
+君
+均
+络
+牌
+陆
+印
+层
+斗
+简
+讲
+买
+谈
+纪
+板
+希
+聘
+充
+归
+左
+测
+止
+笑
+差
+控
+担
+杀
+般
+朝
+监
+承
+播
+k
+亦
+临
+银
+尼
+介
+v
+博
+软
+欢
+害
+七
+良
+善
+’
+移
+土
+课
+免
+射
+审
+健
+角
+伊
+欲
+似
+配
+既
+拿
+刚
+绩
+密
+织
+九
+编
+狐
+右
+龙
+异
+若
+登
+检
+继
+析
+款
+纳
+威
+微
+域
+齐
+久
+宣
+阿
+俄
+店
+康
+执
+露
+香
+额
+紧
+培
+激
+卡
+短
+群
+②
+春
+仍
+伤
+韩
+楚
+缺
+洲
+版
+答
+O
+修
+媒
+秦
+‘
+错
+欧
+园
+减
+急
+叫
+诉
+述
+钟
+遇
+港
+补
+N
+·
+送
+托
+夜
+兰
+诸
+呢
+席
+尚
+福
+奖
+党
+坐
+巴
+毛
+察
+奇
+孙
+竞
+宁
+申
+L
+疑
+黑
+劳
+脑
+R
+舰
+晚
+盘
+征
+波
+背
+访
+互
+败
+苦
+阶
+味
+跟
+沙
+湾
+岛
+挥
+礼
+F
+词
+宝
+券
+虑
+徐
+患
+贵
+换
+矣
+戏
+艺
+侯
+顾
+副
+妇
+董
+坚
+含
+授
+皇
+付
+坛
+皆
+抗
+藏
+潜
+封
+础
+材
+停
+判
+吸
+轮
+守
+涨
+派
+彩
+哪
+笔
+.
+﹑
+氏
+尤
+逐
+冲
+询
+铁
+W
+衣
+绍
+赵
+弟
+洋
+午
+奥
+昨
+雷
+耳
+谢
+乡
+追
+皮
+句
+刻
+油
+误
+宫
+巨
+架
+湖
+固
+痛
+楼
+杯
+套
+恐
+敢
+H
+遂
+透
+薪
+婚
+困
+秀
+帮
+融
+鲁
+遗
+烈
+吗
+吴
+竟
+③
+惊
+幅
+温
+臣
+鲜
+画
+拥
+罪
+呼
+警
+卷
+松
+甲
+牛
+诺
+庭
+休
+圣
+馆
+_
+退
+莫
+讯
+渐
+熟
+肯
+V
+冠
+谁
+乱
+朗
+怪
+夏
+危
+码
+跳
+卖
+签
+块
+盖
+束
+毒
+杨
+饮
+届
+序
+灵
+怀
+障
+永
+顺
+载
+倒
+姓
+丽
+靠
+概
+输
+货
+症
+避
+寻
+丰
+操
+针
+穿
+延
+敌
+悉
+召
+田
+稳
+典
+吧
+犯
+饭
+握
+染
+怕
+端
+央
+阴
+胡
+座
+著
+损
+借
+朋
+救
+库
+餐
+堂
+庆
+忽
+润
+迎
+亡
+肉
+静
+阅
+盛
+综
+木
+疾
+恶
+享
+妻
+厂
+杂
+刺
+秘
+僧
+幸
+扩
+裁
+佳
+趣
+智
+促
+弃
+伯
+吉
+宜
+剧
+野
+附
+距
+唐
+释
+草
+币
+骨
+弱
+俱
+顿
+散
+讨
+睡
+探
+郑
+频
+船
+虚
+途
+旧
+树
+掌
+遍
+予
+梦
+圳
+森
+泰
+慢
+牙
+盟
+挑
+键
+阵
+暴
+脱
+汇
+歌
+禁
+浪
+冷
+艇
+雅
+迷
+拜
+旦
+私
+您
+④
+启
+纷
+哈
+订
+折
+累
+玉
+脚
+亮
+晋
+祖
+菜
+鱼
+醒
+谋
+姐
+填
+纸
+泽
+戒
+床
+努
+液
+咨
+塞
+遭
+玩
+津
+伦
+夺
+辑
+癌
+x
+丹
+荣
+仪
+献
+符
+翻
+估
+乘
+诚
+K
+川
+惠
+涉
+街
+诗
+曲
+孔
+娘
+怒
+扬
+闲
+蒙
+尊
+坦
+=
+衡
+迪
+镇
+沉
+署
+妖
+脸
+净
+哥
+顶
+掉
+厚
+魏
+旗
+兄
+荐
+童
+剂
+乏
+倍
+萨
+偏
+洗
+惯
+灭
+径
+犹
+趋
+拍
+档
+罚
+纯
+洛
+毫
+梁
+雨
+瑞
+宗
+鼓
+辞
+洞
+秋
+郎
+舍
+蓝
+措
+篮
+贷
+佛
+坏
+俗
+殊
+炮
+厅
+筑
+姆
+译
+摄
+卒
+谷
+妈
+聚
+违
+忘
+鬼
+触
+丁
+羽
+贫
+刑
+岗
+庄
+伟
+兼
+乳
+叶
+凡
+龄
+宽
+峰
+宋
+硬
+岸
+迅
+喝
+拟
+雄
+役
+零
+舞
+暗
+潮
+绿
+倾
+详
+税
+酸
+徒
+伴
+诊
+跑
+吾
+燕
+澳
+啊
+塔
+宿
+恩
+忙
+督
+末
+⑤
++
+伐
+篇
+敏
+贸
+巧
+截
+沟
+肝
+迹
+烟
+勇
+乌
+赞
+锋
+返
+迫
+凭
+虎
+朱
+拔
+援
+搞
+爆
+勤
+抢
+敬
+赶
+抱
+仁
+秒
+缓
+御
+唯
+缩
+尝
+贴
+奔
+跨
+炎
+汤
+侵
+骑
+励
+戴
+肤
+枪
+植
+瘤
+埃
+汽
+羊
+宾
+替
+幕
+贝
+刀
+映
+彻
+驻
+披
+抓
+奉
+抵
+肿
+麻
+U
+炸
+繁
+赢
+茶
+伏
+梅
+狂
+忧
+豪
+暂
+贾
+洁
+绪
+刊
+忆
+桥
+晓
+册
+漫
+圆
+默
+妾
+侧
+址
+横
+□
+偶
+狗
+陵
+'
+伙
+杜
+忍
+薄
+雪
+陷
+仙
+恋
+焦
+焉
+烦
+甘
+腺
+颇
+赏
+肠
+废
+墙
+债
+艾
+杰
+残
+冒
+屋
+堡
+曹
+储
+莱
+挂
+纵
+孝
+珍
+麦
+逃
+奋
+J
+览
+镜
+缘
+昭
+摆
+跌
+胁
+昌
+耶
+腹
+偿
+蛋
+盈
+瓦
+摩
+沈
+惟
+迁
+冰
+辛
+震
+旁
+泉
+圈
+巡
+罢
+泛
+穷
+伸
+曼
+滋
+丈
+颜
+勒
+悲
+肥
+郭
+混
+灯
+租
+⑥
+鸡
+阻
+邑
+伍
+践
+驾
+魔
+X
+拒
+懂
+糖
+脏
+沿
+翁
+胆
+惧
+聊
+携
+晨
+滑
+菌
+辅
+贤
+鉴
+丝
+尾
+赴
+吨
+宇
+眠
+脂
+籍
+彼
+污
+貌
+弄
+郡
+【
+奶
+菲
+烧
+垂
+壮
+浮
+弗
+赖
+】
+珠
+迟
+渠
+寿
+隆
+剑
+胞
+跃
+稍
+愈
+荷
+壁
+卿
+邦
+忠
+摇
+悟
+锦
+扰
+袭
+盾
+艘
+浓
+筹
+盗
+哭
+淡
+孕
+扣
+呈
+怨
+琳
+孤
+奴
+驱
+振
+闭
+~
+隔
+寒
+汝
+贯
+恢
+饰
+荡
+姑
+械
+*
+猛
+亏
+锁
+硕
+舒
+嘉
+宏
+劲
+帅
+誉
+番
+惜
+胸
+抽
+脉
+孟
+遣
+碍
+辆
+玄
+陶
+丧
+矿
+链
+矛
+鸟
+夷
+嘴
+坡
+吕
+侦
+鸣
+妹
+邓
+钢
+妙
+z
+欣
+骗
+浙
+辽
+奏
+唱
+腐
+仆
+祝
+冬
+韦
+邮
+酬
+尺
+涯
+毁
+粉
+井
+腰
+肌
+搭
+恨
+乙
+勿
+婆
+★
+闹
+猎
+厉
+哀
+递
+廉
+卧
+豆
+揭
+瓶
+⑦
+蒋
+忌
+贡
+邀
+覆
+墓
+捷
+Q
+骂
+芳
+耗
+奈
+腾
+抑
+牵
+履
+绕
+睛
+炼
+描
+辉
+肃
+循
+仿
+葬
+漏
+恰
+殿
+遥
+尿
+凯
+仲
+婢
+胃
+翼
+卢
+慎
+厦
+颈
+哉
+疲
+惑
+汗
+衰
+剩
+昆
+耐
+疫
+霸
+赚
+彭
+狼
+洪
+枚
+媪
+纲
+窗
+偷
+鼻
+池
+磨
+尘
+账
+拼
+榜
+拨
+扫
+妆
+槽
+蔡
+扎
+叔
+辈
+―
+泡
+伪
+邻
+锡
+仰
+寸
+盐
+叹
+囊
+幼
+拓
+郁
+桌
+舟
+丘
+棋
+裂
+扶
+逼
+熊
+轰
+允
+箱
+挺
+赤
+晶
+●
+祭
+寄
+爷
+呆
+胶
+佩
+泪
+沃
+婴
+娱
+霍
+肾
+诱
+扁
+辩
+粗
+夕
+灾
+哲
+涂
+艰
+猪
+Y
+铜
+踏
+赫
+吹
+屈
+谐
+仔
+沪
+殷
+辄
+渡
+屏
+悦
+漂
+祸
+赔
+涛
+谨
+赐
+劝
+泌
+凤
+庙
+墨
+寺
+淘
+勃
+崇
+灰
+虫
+逆
+闪
+竹
+疼
+旨
+旋
+蒂
+⑧
+悬
+紫
+慕
+贪
+慧
+腿
+赌
+捉
+疏
+卜
+漠
+堪
+廷
+氧
+牢
+吏
+帕
+棒
+纽
+荒
+屡
+戈
+氛
+黎
+桃
+幽
+尖
+猫
+捕
+嫁
+窃
+燃
+禽
+稿
+掩
+踪
+姻
+陪
+凉
+阔
+碰
+幻
+迈
+铺
+堆
+柔
+姿
+膜
+爸
+斤
+轨
+疆
+丢
+仓
+岂
+柳
+敦
+祥
+栏
+邪
+魂
+箭
+煤
+惨
+聪
+艳
+儒
+&
+仇
+徽
+厌
+潘
+袖
+宅
+恒
+逻
+肺
+昂
+炒
+醉
+掘
+宪
+摸
+愤
+畅
+汪
+贺
+肪
+撑
+桂
+耀
+柏
+韂
+扑
+淮
+j
+凌
+遵
+钻
+摘
+碎
+抛
+匹
+腔
+纠
+吐
+滚
+凝
+插
+鹰
+郊
+琴
+悄
+撤
+驶
+粮
+辱
+斩
+暖
+杭
+齿
+欺
+殖
+撞
+颁
+匈
+翔
+挤
+乔
+抚
+泥
+饱
+劣
+鞋
+肩
+雇
+驰
+莲
+岩
+酷
+玛
+赠
+斋
+辨
+泄
+姬
+拖
+湿
+滨
+鹏
+兽
+锐
+捧
+尸
+宰
+舆
+宠
+胎
+凶
+割
+虹
+俊
+糊
+兹
+瓜
+悔
+慰
+浦
+锻
+削
+唤
+戚
+撒
+冯
+丑
+亭
+寝
+嫌
+袁
+⑨
+尉
+芬
+挖
+弥
+喊
+纤
+辟
+菩
+埋
+呀
+昏
+傅
+桑
+稀
+帐
+添
+塑
+赋
+扮
+芯
+喷
+夸
+抬
+旺
+襄
+岭
+颗
+柱
+欠
+逢
+鼎
+苗
+庸
+甜
+贼
+烂
+怜
+盲
+浅
+霞
+畏
+诛
+倡
+磁
+茨
+毅
+鲍
+骇
+峡
+妨
+雕
+袋
+裕
+哩
+怖
+阁
+函
+浩
+侍
+拳
+寡
+鸿
+眉
+穆
+狱
+牧
+拦
+雾
+猜
+顷
+昔
+慈
+朴
+疯
+苍
+■
+渴
+慌
+绳
+闷
+陕
+宴
+辖
+「
+」
+舜
+讼
+柯
+丞
+姚
+崩
+绘
+枝
+牲
+涌
+虔
+姜
+擦
+桓
+逊
+汰
+斥
+﹒
+颖
+悠
+恼
+灌
+q
+梯
+捐
+∶
+挣
+衷
+啡
+娜
+旬
+呵
+刷
+帽
+岳
+豫
+咖
+飘
+臂
+寂
+粒
+募
+嘱
+蔬
+苹
+泣
+吊
+淳
+诞
+诈
+咸
+猴
+~
+奸
+淫
+佐
+晰
+崔
+雍
+葛
+鼠
+爵
+奢
+仗
+涵
+淋
+挽
+敲
+沛
+蛇
+锅
+庞
+朵
+押
+鹿
+滩
+祠
+枕
+扭
+厘
+魅
+⑩
+湘
+柴
+炉
+荆
+卓
+碗
+夹
+脆
+颠
+窥
+逾
+诘
+贿
+虞
+茫
+榻
+碑
+傲
+骄
+卑
+×
+Z
+蓄
+煮
+劫
+卵
+碳
+痕
+攀
+搬
+拆
+谊
+禹
+窦
+绣
+叉
+爽
+肆
+羞
+爬
+泊
+腊
+愚
+牺
+胖
+弘
+秩
+娶
+妃
+柜
+觽
+躲
+葡
+浴
+兆
+滴
+衔
+燥
+斑
+挡
+笼
+徙
+憾
+垄
+肖
+溪
+叙
+茅
+膏
+甫
+缴
+姊
+逸
+淀
+擅
+催
+丛
+舌
+竭
+禅
+隶
+歧
+妥
+煌
+玻
+刃
+☆
+肚
+惩
+赂
+耻
+詹
+璃
+舱
+溃
+斜
+祀
+翰
+汁
+妄
+枭
+萄
+契
+骤
+醇
+泼
+咽
+拾
+廊
+犬
+筋
+扯
+狠
+挫
+钛
+扇
+蓬
+吞
+帆
+戎
+稽
+娃
+蜜
+庐
+盆
+胀
+乞
+堕
+趁
+吓
+框
+顽
+硅
+宛
+瘦
+剥
+睹
+烛
+晏
+巾
+狮
+辰
+茂
+○
+裙
+匆
+霉
+杖
+杆
+糟
+畜
+躁
+愁
+缠
+糕
+峻
+贱
+辣
+歼
+慨
+亨
+芝
+惕
+娇
+⑾
+渔
+冥
+咱
+栖
+浑
+禄
+帖
+巫
+喻
+毋
+泳
+饿
+尹
+穴
+沫
+串
+邹
+厕
+蒸
++
+滞
+铃
+寓
+萧
+弯
+窝
+杏
+冻
+愉
+逝
+诣
+溢
+嘛
+兮
+暮
+豹
+骚
+跪
+懒
+缝
+盒
+亩
+寇
+弊
+巢
+咬
+粹
+冤
+陌
+涕
+翠
+勾
+拘
+侨
+肢
+裸
+恭
+叛
+纹
+摊
+#
+兑
+萝
+饥
+>
+浸
+叟
+滥
+灿
+衍
+喘
+吁
+晒
+谱
+堵
+暑
+撰
+棉
+蔽
+屠
+讳
+庶
+巩
+钩
+丸
+诏
+朔
+瞬
+抹
+矢
+浆
+蜀
+洒
+耕
+虏
+诵
+陛
+绵
+尴
+坤
+─
+尬
+搏
+钙
+饼
+枯
+灼
+饶
+杉
+盼
+蒲
+尧
+俘
+伞
+庚
+摧
+遮
+痴
+罕
+桶
+巷
+乖
+{
+啦
+纺
+闯
+→
+敛
+弓
+喉
+酿
+彪
+垃
+歇
+圾
+倦
+狭
+晕
+裤
+蜂
+}
+垣
+莉
+谍
+俩
+妪
+⑿
+钓
+逛
+椅
+砖
+烤
+熬
+悼
+倘
+鸭
+馈
+惹
+旭
+薛
+诀
+渗
+痒
+蛮
+罩
+渊
+踢
+崖
+粟
+唇
+辐
+愧
+玲
+遏
+昼
+芦
+纣
+琼
+椎
+咳
+熙
+钉
+剖
+歉
+坠
+誓
+啤
+碧
+郅
+吻
+莎
+屯
+吟
+臭
+谦
+刮
+掠
+垫
+宙
+冀
+栗
+壳
+崛
+瑟
+哄
+谏
+丙
+叩
+缪
+雌
+叠
+奠
+髃
+碘
+暨
+劭
+霜
+妓
+厨
+脾
+俯
+槛
+芒
+沸
+盯
+坊
+咒
+觅
+剪
+遽
+贩
+寨
+铸
+炭
+绑
+蹈
+抄
+阎
+窄
+冈
+侈
+匿
+斌
+沾
+壤
+哨
+僵
+坎
+舅
+洽
+勉
+侣
+屿
+啼
+侠
+枢
+膝
+谒
+砍
+厢
+昧
+嫂
+羡
+铭
+碱
+棺
+漆
+睐
+缚
+谭
+溶
+烹
+雀
+擎
+棍
+瞄
+裹
+曝
+傻
+旱
+坑
+驴
+弦
+贬
+龟
+塘
+贞
+氨
+盎
+掷
+胺
+焚
+黏
+乒
+耍
+讶
+纱
+蠢
+掀
+藤
+蕴
+邯
+瘾
+婿
+卸
+斧
+鄙
+冕
+苑
+耿
+腻
+躺
+矩
+蝶
+浏
+壶
+凸
+臧
+墅
+粘
+⒀
+魄
+杞
+焰
+靶
+邵
+倚
+帘
+鞭
+僚
+酶
+靡
+虐
+阐
+韵
+迄
+樊
+畔
+钯
+菊
+亥
+嵌
+狄
+拱
+伺
+潭
+缆
+慑
+厮
+晃
+媚
+吵
+骃
+稷
+涅
+阪
+挨
+珊
+殆
+璞
+婉
+翟
+栋
+醋
+鹤
+椒
+囚
+瞒
+竖
+肴
+仕
+钦
+妒
+晴
+裔
+筛
+泻
+阙
+垒
+孰
+抖
+衬
+炫
+兢
+屑
+赦
+宵
+沮
+谎
+苟
+碌
+屁
+腕
+沦
+懈
+扉
+揖
+摔
+塌
+廖
+铝
+嘲
+胥
+曳
+敖
+傍
+筒
+朕
+扳
+鑫
+硝
+暇
+@
+冶
+靖
+袍
+凑
+悍
+兔
+邢
+熏
+株
+哮
+鹅
+乾
+鄂
+矶
+逵
+坟
+佣
+髓
+隙
+惭
+轴
+掏
+苛
+偃
+榴
+⒁
+赎
+谅
+裴
+缅
+皂
+淑
+噪
+阀
+咎
+揽
+绮
+瞻
+谜
+拐
+渭
+啥
+彦
+遁
+琐
+喧
+藉
+嫩
+寞
+梳
+溜
+粥
+恤
+迭
+瀑
+蓉
+寥
+彬
+俺
+忿
+螺
+膀
+惫
+扔
+匪
+毙
+怠
+彰
+啸
+荻
+逮
+删
+脊
+轩
+躬
+澡
+衫
+娥
+捆
+牡
+茎
+秉
+俭
+闺
+溺
+萍
+陋
+驳
+撼
+沽
+僮
+厥
+沧
+轿
+棘
+怡
+梭
+嗣
+凄
+℃
+铅
+绛
+祈
+斐
+箍
+爪
+琦
+惶
+刹
+嗜
+窜
+匠
+锤
+筵
+瑶
+幌
+捞
+敷
+酌
+阜
+哗
+聂
+絮
+阱
+膨
+坪
+歪
+旷
+翅
+揣
+樱
+甸
+颐
+兜
+頉
+伽
+绸
+拂
+狎
+颂
+谬
+昊
+皋
+嚷
+徊
+⒂
+曙
+麟
+嚣
+哑
+灞
+钧
+挪
+奎
+肇
+磊
+蕉
+荧
+嗽
+瓒
+苯
+躯
+绎
+鸦
+茵
+澜
+搅
+渺
+恕
+矫
+讽
+匀
+畴
+坞
+谥
+趟
+蔓
+帛
+寅
+呜
+枣
+萌
+磷
+涤
+蚀
+疮
+浊
+煎
+叮
+倩
+拯
+瑰
+涩
+绅
+枉
+朽
+哺
+邱
+凿
+莽
+隋
+炳
+睁
+澄
+厄
+惰
+粤
+黯
+纬
+哦
+徘
+炜
+擒
+捏
+帷
+攒
+湛
+夙
+滤
+浐
+霄
+豁
+甄
+剔
+丫
+愕
+袜
+呕
+|
+蹲
+皱
+勘
+辜
+唬
+葱
+甩
+诡
+猿
+稻
+宦
+姨
+橡
+涧
+亢
+芽
+濒
+蹄
+窍
+譬
+驿
+拢
+叱
+喂
+怯
+坝
+椰
+孽
+阖
+瞩
+萎
+镑
+簿
+婷
+咐
+郸
+瑜
+瑚
+矮
+祷
+窟
+藩
+牟
+疡
+仑
+谣
+侄
+沐
+孜
+劈
+枸
+妮
+蔚
+勋
+玫
+虾
+谴
+莹
+紊
+瓷
+魁
+淄
+扛
+曩
+柄
+滔
+缀
+闽
+莞
+恳
+磅
+耸
+灶
+埠
+嚼
+汲
+恍
+逗
+畸
+翩
+甥
+蚁
+耽
+稚
+戟
+戊
+侃
+帜
+璧
+碟
+敞
+晖
+匙
+烫
+眷
+娟
+卦
+寐
+苌
+馨
+锣
+谛
+桐
+钥
+琅
+赁
+蜡
+颤
+陇
+僻
+埔
+腥
+皎
+酝
+媳
+⒃
+翘
+缔
+葫
+吼
+侮
+淹
+瘫
+窘
+啖
+犀
+弒
+蕾
+偕
+笃
+栽
+唾
+陀
+汾
+俨
+呐
+膳
+锌
+瞧
+骏
+笨
+琢
+踩
+濮
+黛
+墟
+蒿
+歹
+绰
+捍
+诫
+漓
+篷
+咄
+诬
+乓
+梨
+奕
+睿
+嫡
+幢
+砸
+俞
+亟
+捣
+溯
+饵
+嘘
+砂
+凰
+丕
+荥
+赀
+薇
+滕
+袱
+辍
+疹
+泗
+韧
+撕
+磕
+梗
+挚
+挠
+嫉
+奚
+弩
+蝉
+罐
+敝
+鞍
+晦
+酣
+搁
+柿
+菠
+卞
+煞
+堤
+蟹
+骼
+晤
+娡
+潇
+胰
+酱
+郦
+脖
+檐
+桩
+踵
+禾
+狩
+盏
+弈
+牒
+拙
+喇
+舶
+炊
+喀
+黔
+挟
+钞
+缕
+俏
+娄
+粪
+颅
+锏
+凹
+饲
+肘
+赟
+吝
+襟
+琪
+谕
+飙
+秽
+颊
+渝
+卯
+捡
+氢
+桀
+裳
+滇
+浇
+礁
+◎
+蚊
+芙
+荀
+吩
+凳
+峨
+巍
+雉
+郢
+铲
+倪
+杳
+汹
+豚
+乍
+蛙
+驼
+嗅
+讫
+痰
+棵
+睫
+绒
+捻
+罔
+杠
+氟
+堰
+羁
+穰
+钠
+骸
+睾
+鳞
+邸
+於
+谧
+睢
+泾
+芹
+钾
+颓
+Ⅱ
+笋
+橘
+卉
+岐
+懿
+巅
+垮
+嵩
+柰
+鲨
+涡
+弧
+◆
+钝
+啃
+熹
+芭
+隅
+拌
+锥
+抒
+焕
+漳
+鸽
+烘
+瞪
+⒄
+箕
+驯
+恃
+靴
+刁
+聋
+剿
+筝
+绞
+鞅
+夯
+抉
+嘻
+弛
+垢
+衾
+丐
+斟
+恙
+雁
+匮
+娼
+鞠
+扼
+镶
+樵
+菇
+兖
+夭
+戌
+褚
+渲
+硫
+挞
+衙
+闫
+绾
+衅
+掣
+磋
+袒
+龚
+叨
+揉
+贻
+瑛
+俾
+薯
+憎
+傣
+炬
+荤
+烁
+沂
+粑
+蚌
+渣
+茄
+荼
+愍
+蒜
+菱
+狡
+蠡
+戍
+畤
+闵
+颍
+酋
+芮
+渎
+霆
+哼
+韬
+荫
+辙
+榄
+骆
+锂
+肛
+菑
+揪
+皖
+秃
+拽
+诟
+槐
+髦
+脓
+殡
+闾
+怅
+雯
+\
+戮
+澎
+悖
+嗓
+贮
+炙
+跋
+玮
+霖
+皓
+煽
+娠
+肋
+闸
+眩
+慷
+迂
+酉
+赘
+蝇
+羌
+蔑
+氯
+蚕
+汀
+憋
+臾
+汕
+缸
+棚
+唉
+棕
+裟
+蚡
+驮
+簇
+橙
+〉
+蹇
+庇
+佼
+禧
+崎
+痘
+芜
+姥
+绷
+惮
+雏
+⒅
+恬
+庵
+瞎
+臀
+胚
+嘶
+铀
+靳
+呻
+膺
+醛
+憧
+嫦
+橄
+褐
+讷
+趾
+讹
+鹊
+谯
+喋
+篡
+郝
+嗟
+琉
+逞
+袈
+鲧
+虢
+穗
+踰
+栓
+钊
+鬻
+羹
+掖
+笞
+恺
+掬
+憨
+狸
+瑕
+匡
+〈
+痪
+冢
+梧
+眺
+佑
+愣
+撇
+阏
+疚
+攘
+昕
+瓣
+烯
+谗
+隘
+酰
+绊
+鳌
+俟
+嫔
+崭
+妊
+雒
+荔
+毯
+纶
+祟
+爹
+辗
+竿
+裘
+犁
+柬
+恣
+阑
+榆
+翦
+佟
+钜
+札
+隧
+⒆
+腌
+砌
+酥
+辕
+铬
+痔
+讥
+毓
+橐
+跻
+酮
+殉
+哙
+亵
+锯
+糜
+壬
+瞭
+恻
+轲
+糙
+涿
+绚
+荟
+梢
+赣
+沼
+腑
+朦
+徇
+咋
+膊
+陡
+骋
+伶
+涓
+芷
+弋
+枫
+觑
+髻
+巳
+匣
+蠕
+恪
+槟
+栎
+噩
+葵
+殃
+淤
+诠
+昵
+眸
+馁
+奄
+绽
+闱
+蛛
+矜
+馔
+遐
+骡
+罹
+遑
+隍
+拭
+祁
+︰
+霁
+釜
+钵
+栾
+睦
+蚤
+咏
+憬
+韶
+圭
+觇
+芸
+氓
+伎
+氮
+靓
+淆
+绢
+眈
+掐
+簪
+搀
+玺
+镐
+竺
+峪
+冉
+拴
+忡
+卤
+撮
+胧
+邛
+彝
+楠
+缭
+棠
+腮
+祛
+棱
+睨
+嫖
+圉
+杵
+萃
+沁
+嬉
+擂
+澈
+麽
+轸
+彘
+褥
+廓
+狙
+笛
+彗
+啬
+盂
+贲
+忏
+驺
+悚
+豨
+旌
+娩
+扃
+蹦
+扈
+凛
+驹
+剃
+孺
+〕
+吆
+驷
+迸
+毗
+〔
+熔
+逍
+癸
+稼
+溥
+嫣
+瓮
+胱
+痊
+逡
+疟
+苻
+曪
+拣
+戛
+臻
+缉
+懊
+竣
+囤
+侑
+肽
+缮
+绥
+踝
+壑
+娴
+猝
+焻
+禀
+漱
+碁
+蹬
+祗
+濡
+挝
+亳
+萦
+癖
+彀
+毡
+锈
+憩
+筷
+莒
+噬
+珀
+砝
+鬓
+瑾
+澧
+栈
+恚
+搓
+褒
+疤
+沌
+絷
+镖
+塾
+钗
+骊
+拷
+铂
+郄
+窒
+驸
+裨
+矗
+烙
+惬
+炖
+赍
+迥
+蹴
+炽
+诧
+闰
+糯
+捅
+茜
+漯
+﹐
+峭
+哇
+鹑
+疵
+梓
+骠
+咫
+鹦
+檀
+痹
+侥
+蘑
+衢
+灸
+琵
+琶
+懦
+邺
+扪
+痿
+苔
+拇
+腋
+薨
+馅
+雠
+敕
+捂
+鴈
+栅
+瓯
+嘿
+溉
+胳
+拎
+巿
+赃
+咕
+诃
+谤
+舁
+禺
+榨
+–
+拈
+瘙
+眯
+篱
+鬟
+咯
+抨
+桨
+岱
+赡
+蹶
+惚
+嗔
+喏
+聆
+曜
+窑
+瘢
+柠
+蕃
+寤
+攫
+饷
+佬
+臼
+皈
+蟒
+啜
+蔗
+汶
+酪
+豕
+窖
+膛
+檬
+戾
+蟠
+黍
+鲸
+漾
+猾
+驭
+踊
+稠
+脯
+潍
+倭
+谑
+猖
+聒
+骞
+熄
+渍
+瞳
+蒯
+陉
+褪
+筐
+彤
+蝴
+廪
+嬴
+沱
+闼
+橱
+蜚
+蹭
+鄢
+臆
+邳
+盔
+眶
+沓
+飨
+覃
+彷
+淌
+岚
+霹
+辔
+袂
+嗤
+榔
+鸾
+綦
+莘
+媲
+翊
+雳
+箸
+蚩
+茸
+嗦
+楷
+韭
+簸
+帚
+坍
+後
+璋
+剽
+渤
+骥
+犊
+迩
+悯
+饪
+搂
+鹉
+岑
+觞
+棣
+蕊
+诳
+黥
+藻
+郜
+舵
+毂
+茗
+忱
+铿
+谙
+怆
+钳
+佗
+瀚
+亘
+铎
+咀
+濯
+鼾
+酵
+酯
+麾
+Ⅰ
+笙
+ü
+缨
+翳
+龈
+忒
+煦
+顼
+俎
+圃
+刍
+喙
+羲
+陨
+嘤
+梏
+颛
+蜒
+啮
+镁
+辇
+葆
+蔺
+筮
+溅
+佚
+匾
+暄
+谀
+媵
+纫
+砀
+悸
+啪
+迢
+瞽
+莓
+瞰
+俸
+珑
+骜
+穹
+麓
+潢
+妞
+铢
+忻
+铤
+劾
+樟
+俐
+缗
+煲
+粱
+虱
+淇
+徼
+脐
+鼋
+嘈
+悴
+捶
+嚏
+挛
+谚
+螃
+殴
+瘟
+掺
+〇
+酚
+梵
+栩
+褂
+摹
+蜿
+钮
+箧
+胫
+馒
+焱
+嘟
+芋
+踌
+圜
+衿
+峙
+宓
+腆
+佞
+砺
+婪
+瀛
+苷
+昱
+贰
+秤
+扒
+龁
+躇
+翡
+宥
+弼
+醮
+缤
+瘗
+鳖
+擞
+眨
+礶
+锢
+辫
+儋
+纭
+洼
+漕
+飓
+纂
+繇
+舷
+勺
+诲
+捺
+瞑
+啻
+蹙
+佯
+茹
+怏
+蛟
+鹭
+烬
+
+兀
+檄
+浒
+胤
+踞
+僖
+卬
+爇
+璀
+暧
+髡
+蚂
+饽
+镰
+陂
+瞌
+诽
+钺
+沥
+镍
+耘
+燎
+祚
+儣
+莺
+屎
+辘
+鸥
+驩
+氐
+匕
+銮
+━
+苴
+憔
+渥
+袅
+瞿
+瓢
+痣
+蘸
+蹑
+玷
+惺
+轧
+喃
+潺
+唏
+逅
+懵
+帏
+唠
+徨
+咤
+抠
+蛊
+苇
+铮
+疙
+闳
+砥
+羸
+遨
+哎
+捽
+钏
+壹
+昇
+擢
+贽
+汴
+砰
+牝
+蔼
+熠
+粽
+绌
+杼
+麒
+叭
+颔
+锭
+妍
+姒
+邂
+濞
+轶
+搔
+蹊
+阂
+垦
+猕
+伫
+瘩
+璐
+黠
+婺
+噫
+潞
+呱
+幡
+汞
+缯
+骁
+墩
+赧
+瞥
+媛
+瞠
+羔
+轼
+Ⅲ
+拗
+鹞
+搴
+诮
+趴
+凋
+撩
+芥
+缎
+摒
+泮
+惘
+骛
+瘳
+姝
+β
+渚
+吠
+稣
+獘
+篃
+罄
+吒
+茧
+黜
+缢
+獗
+诅
+絜
+蜕
+屹
+哽
+缄
+俑
+坷
+杓
+剁
+锺
+鹜
+谩
+岔
+籽
+磬
+溍
+邃
+钨
+甬
+笥
+蝠
+龋
+鸱
+孚
+馍
+溴
+妫
+偎
+烽
+椽
+阮
+酗
+惋
+牍
+觥
+瞅
+涣
+狈
+锰
+椟
+饺
+溲
+谪
+掇
+蓟
+倔
+鞫
+猢
+笄
+翕
+嗥
+卺
+寰
+狞
+洮
+炕
+夡
+瘠
+磺
+肱
+奭
+耆
+棂
+娅
+咚
+豌
+樗
+诩
+斡
+榈
+琛
+狲
+蕲
+捎
+戳
+炯
+峦
+嘎
+睬
+怙
+疱
+霎
+哂
+鱿
+涸
+咦
+痉
+$
+抟
+庖
+沅
+瑙
+珏
+祜
+楞
+漉
+鸠
+镂
+诰
+谄
+蜗
+嗒
+珂
+祯
+鸳
+殒
+潼
+柩
+萤
+柑
+轵
+缰
+淼
+冗
+蕙
+鳄
+嘀
+彊
+峥
+雹
+藜
+笠
+岖
+傥
+潦
+苞
+蛰
+嬖
+僦
+碣
+裰
+疸
+湮
+昴
+榷
+涎
+攸
+砾
+跖
+恂
+舄
+麝
+貂
+孢
+捋
+笈
+璨
+粕
+浚
+鹃
+歆
+漪
+岷
+咧
+殁
+篆
+湃
+侏
+傈
+殇
+霭
+嚎
+拊
+崂
+鬲
+碉
+菁
+庾
+拚
+旃
+幺
+皿
+焊
+噢
+祺
+锚
+痤
+翎
+醺
+噶
+傀
+俛
+秧
+谆
+僳
+菽
+绯
+瘥
+盥
+蹋
+髯
+岌
+痧
+偌
+禳
+簧
+跤
+伉
+腼
+爰
+箫
+曦
+蜘
+霓
+愆
+姗
+陬
+楂
+嵘
+蜓
+浼
+癫
+瓠
+跷
+绐
+枷
+墀
+馕
+盹
+聩
+镯
+砚
+晁
+僊
+°
+坂
+煜
+俚
+眛
+焘
+阍
+袄
+夔
+馋
+泸
+庠
+毐
+飚
+刭
+琏
+羿
+斓
+稔
+阉
+喾
+恸
+耦
+咪
+蝎
+唿
+桔
+缑
+诋
+訾
+迨
+鹄
+蟾
+鬣
+廿
+莅
+荞
+槌
+媾
+愦
+郏
+淖
+嗪
+镀
+畦
+颦
+浃
+牖
+襁
+怂
+唆
+嚭
+涟
+拮
+腓
+缥
+郫
+遴
+邾
+悒
+嗝
+殽
+跛
+掂
+撬
+鄣
+鄱
+斫
+窿
+兕
+壕
+疽
+铙
+吱
+厩
+甭
+镪
+篝
+踣
+眦
+啧
+糠
+鲤
+粲
+噱
+椭
+哟
+潸
+铆
+姣
+馥
+胙
+迦
+偻
+嗯
+陟
+爲
+桧
+鸯
+恿
+晌
+臱
+骈
+喽
+淅
+澹
+叽
+桢
+刨
+忑
+忐
+猩
+蝙
+旄
+晾
+吭
+荏
+觐
+胄
+榛
+豢
+堑
+帔
+咙
+柚
+僭
+锵
+√
+肮
+囿
+忤
+惴
+燮
+棹
+摈
+缈
+幛
+墉
+诎
+仞
+剌
+氇
+泯
+茱
+獾
+豺
+蜃
+殂
+窈
+倨
+褓
+詈
+砷
+邕
+薰
+頫
+焖
+痫
+痢
+掾
+獐
+簌
+雎
+é
+帧
+鸩
+匝
+桅
+椁
+绫
+桡
+氆
+哌
+咛
+鞘
+辎
+缙
+玑
+佤
+垓
+槿
+蛤
+烨
+泓
+罴
+鄜
+褶
+瘀
+颌
+蹂
+弑
+珪
+曷
+膑
+惦
+咆
+梆
+蛾
+牂
+髅
+捱
+拧
+婧
+踱
+怵
+侗
+屉
+讪
+衲
+麋
+宕
+畿
+唧
+怛
+豉
+籁
+觌
+舂
+蓦
+廨
+胪
+怍
+鄄
+绶
+飕
+蜻
+欷
+邬
+杲
+汧
+唑
+冽
+邰
+鼍
+魇
+铐
+哝
+泱
+扞
+飒
+醴
+陲
+喟
+筠
+殓
+瘸
+倏
+嗳
+啕
+睑
+翌
+à
+幄
+娓
+蓺
+妩
+奁
+璜
+桦
+朐
+榕
+礴
+儡
+婕
+觎
+觊
+绦
+猥
+涮
+倬
+袤
+啄
+掳
+椿
+俪
+噜
+摞
+※
+鄗
+漩
+悝
+淞
+袴
+僇
+酹
+搒
+跽
+鳍
+疣
+姁
+猗
+舛
+鞮
+砭
+郯
+徕
+纥
+梃
+卮
+肣
+湎
+怦
+揄
+迕
+芍
+珥
+羚
+喔
+缁
+涝
+栉
+犷
+汜
+悻
+呛
+赭
+淬
+泫
+炀
+箴
+镌
+髫
+拄
+怔
+炷
+桎
+巽
+汭
+鹫
+挈
+蝄
+噙
+锄
+邴
+歔
+瘪
+腴
+呗
+慵
+撺
+欤
+阡
+傩
+苫
+掰
+盅
+冑
+躏
+茉
+霾
+耄
+楹
+蹻
+苋
+鲠
+哆
+傒
+榭
+牦
+婶
+仃
+囱
+皙
+醦
+隰
+掼
+琖
+駆
+暲
+砒
+舀
+鹗
+犒
+斛
+甑
+楫
+嫪
+胭
+瘁
+铛
+藕
+簋
+腭
+睽
+阕
+裀
+砧
+蓼
+贳
+劬
+搽
+龏
+荃
+奘
+祎
+泵
+攥
+翱
+晟
+酎
+睇
+逋
+箔
+羟
+诙
+饬
+跆
+眇
+佻
+铠
+娑
+郧
+葭
+蝗
+郓
+幞
+鉏
+碾
+硒
+釉
+磔
+殄
+藐
+莠
+颧
+熨
+獠
+浞
+笺
+癣
+茬
+衽
+喳
+裾
+倜
+鸢
+蠹
+廛
+惆
+芈
+燔
+伛
+妗
+佃
+缜
+咣
+龛
+挎
+徵
+粼
+锉
+啾
+隼
+猬
+镳
+璇
+胯
+饕
+揩
+縠
+虮
+苓
+噎
+祓
+筰
+奂
+搪
+喁
+俦
+隗
+馏
+圩
+褫
+僰
+吮
+哧
+湫
+旻
+筏
+搢
+佶
+茕
+铣
+娆
+揍
+嗷
+柈
+蕨
+绖
+旎
+汨
+畑
+鳏
+厝
+溷
+楯
+卅
+祇
+′
+怼
+焯
+±
+柘
+骷
+澍
+▲
+`
+珞
+褊
+╱
+痂
+罘
+殚
+垠
+缧
+瑁
+齮
+蓐
+怿
+蹿
+豳
+犴
+孵
+筱
+蜷
+窋
+泞
+肄
+祐
+窕
+酆
+谶
+阗
+讙
+镝
+匍
+腱
+^
+镬
+仡
+樾
+驽
+峒
+蟆
+葳
+徉
+昙
+罡
+耜
+嗨
+氲
+骅
+襦
+浔
+纮
+洱
+氦
+舐
+黙
+臊
+縯
+汛
+蹀
+溟
+枥
+祉
+铄
+豸
+揶
+馀
+闇
+呷
+仄
+焒
+嗡
+崆
+匳
+皑
+匐
+÷
+诿
+髭
+鲰
+鲲
+筴
+侬
+鹳
+滂
+△
+橹
+邈
+弭
+弁
+樽
+揆
+幔
+纨
+踉
+帼
+跸
+搠
+缞
+氤
+旒
+旖
+屣
+孱
+槁
+铉
+榼
+沣
+娣
+娈
+夤
+壅
+枇
+讴
+埶
+阆
+杷
+浣
+狰
+愠
+蚓
+咿
+藿
+欻
+萸
+刽
+稞
+刎
+骖
+冁
+骰
+嵯
+濂
+跚
+湄
+釂
+麤
+珰
+舔
+谮
+坨
+嗲
+埒
+锲
+鲇
+煨
+耎
+绻
+楣
+噉
+谟
+嗖
+裆
+晗
+囹
+黝
+讣
+薏
+⑴
+貉
+椹
+蟜
+犍
+蜇
+秏
+呶
+箩
+悞
+妤
+搐
+芪
+呦
+恽
+赊
+侩
+绁
+猱
+遒
+镵
+鸮
+趺
+簏
+迤
+坼
+痼
+棰
+凫
+诂
+骀
+瘴
+螨
+阚
+臃
+葩
+篓
+谲
+悌
+嬗
+颉
+赉
+珈
+汩
+薮
+亶
+鬃
+蒽
+黾
+噤
+螫
+嶲
+湍
+畲
+徜
+衮
+茀
+蓍
+┐
+遛
+磐
+篁
+遘
+乩
+蹒
+≥
+鸵
+褴
+苒
+郈
+踽
+叵
+咻
+伋
+襆
+歙
+伧
+醳
+鄠
+茴
+赳
+矾
+圄
+楮
+坯
+蕤
+迓
+锱
+腉
+滦
+饯
+诤
+懋
+呤
+纡
+隽
+妲
+蜴
+┌
+疋
+噻
+愀
+龊
+琨
+镭
+藓
+镣
+滈
+蓓
+杪
+糗
+菅
+椀
+懑
+苎
+劓
+囫
+α
+啰
+钼
+烷
+兒
+脔
+郴
+忖
+芎
+啶
+巉
+钒
+缒
+蝼
+龌
+沔
+醢
+晔
+孳
+忝
+嗫
+橇
+勖
+宸
+佰
+蜈
+酞
+蔷
+糅
+噭
+猊
+儇
+觳
+缟
+郐
+眙
+赅
+剜
+徭
+蛭
+愎
+唔
+瘘
+魋
+镉
+殛
+茏
+邋
+垛
+垩
+焙
+篾
+羯
+浍
+鏖
+嚓
+躞
+堃
+烩
+莴
+¥
+绠
+纔
+衩
+糁
+≤
+町
+粝
+玳
+穑
+葺
+钲
+徂
+﹖
+棓
+泷
+涪
+囵
+怫
+屦
+歘
+鐘
+『
+裱
+缱
+圹
+罂
+荦
+腈
+愬
+坭
+嗛
+铩
+馐
+媸
+遢
+て
+渑
+曛
+粳
+蹰
+舫
+勐
+窭
+濠
+亹
+跄
+琥
+戢
+駹
+燧
+嫜
+峄
+竽
+膈
+荚
+姞
+赇
+樭
+澙
+笮
+嶙
+氰
+孀
+崧
+郾
+蜥
+阊
+篙
+狻
+靛
+虬
+赝
+篑
+榇
+鞑
+侪
+盍
+疝
+矽
+堙
+毶
+泠
+瞟
+癀
+镞
+酤
+涔
+譄
+唁
+薜
+郿
+⑵
+爻
+盱
+膻
+菡
+⒉
+绨
+埽
+О
+鳜
+醚
+阃
+遶
+岿
+張
+椐
+酺
+蔟
+螂
+辂
+窠
+淙
+鷪
+貋
+刳
+骶
+恫
+挹
+婀
+铳
+蒍
+孥
+蚣
+唳
+纻
+Ⅳ
+甾
+旘
+膘
+<
+脍
+耨
+翮
+赈
+浜
+洹
+蛎
+魉
+纰
+岫
+坌
+捭
+睒
+轺
+锗
+稗
+崚
+仫
+珩
+庑
+邽
+麃
+』
+縻
+
+嗑
+瞋
+螭
+绔
+喱
+‰
+痞
+咔
+埤
+疥
+猷
+洺
+啁
+讦
+礻
+餮
+泅
+蛹
+癞
+妁
+桞
+匏
+琮
+铨
+杌
+孑
+菟
+骐
+钡
+钚
+莆
+荪
+魑
+峇
+斄
+缶
+茭
+煅
+酩
+酢
+湟
+潏
+嘌
+韪
+苣
+蛆
+侔
+帑
+鸨
+愫
+芫
+郪
+踔
+骧
+茁
+溧
+皁
+蜔
+魍
+瀹
+楔
+祧
+粜
+晡
+蹩
+畎
+啱
+窳
+瞾
+甙
+
+
+绺
+貔
+
+痈
+舡
+葴
+耋
+囔
+П
+蚯
+笆
+鲐
+踧
+遫
+踟
+Р
+溊
+咂
+锹
+笫
+癔
+觜
+涒
+碓
+蛲
+跺
+枞
+茔
+⒈
+谸
+抿
+擘
+跬
+愛
+浿
+∩
+黟
+枰
+な
+轘
+荠
+郇
+姮
+锑
+妳
+饴
+绡
+奡
+夥
+钤
+俅
+酊
+潴
+绀
+髋
+獬
+儆
+産
+乂
+餍
+颡
+胾
+碛
+貊
+魭
+钿
+鸬
+喑
+哏
+牯
+蜍
+摁
+嶓
+俳
+蟭
+躅
+羖
+鳃
+孛
+羑
+濑
+雩
+焜
+鸷
+箦
+茯
+醪
+鹂
+铚
+缳
+螳
+酇
+蛔
+罃
+珐
+苕
+罅
+蛀
+庳
+褛
+罥
+艮
+娲
+蒺
+娉
+撵
+禨
+蓖
+姹
+戕
+庥
+岬
+痍
+烜
+窴
+邠
+蹉
+诨
+狁
+顒
+莨
+阈
+嘹
+戆
+窎
+儙
+螾
+纾
+嵋
+镕
+跣
+繻
+枳
+菏
+赜
+槃
+趄
+煊
+嬛
+抡
+睚
+跹
+壖
+戗
+⑶
+榫
+沬
+崴
+颚
+畼
+嫚
+嚋
+珮
+◇
+娀
+枋
+獭
+畀
+谇
+欃
+瓴
+龂
+鲋
+鹆
+鳝
+郕
+疴
+偈
+诒
+讧
+惇
+跂
+扢
+爨
+赪
+苡
+鈇
+晞
+亓
+釐
+槊
+寘
+暾
+莩
+徳
+钹
+冏
+書
+麂
+撂
+犨
+滁
+孪
+刓
+逶
+澝
+嬃
+黡
+沕
+恝
+洟
+秸
+逑
+滓
+緃
+媢
+叼
+霣
+⒊
+慝
+厍
+炟
+皤
+囐
+
+硼
+楸
+瞀
+烝
+炔
+瓻
+耙
+腩
+醵
+锽
+殪
+樯
+芡
+∈
+↓
+缵
+伻
+玊
+桠
+觚
+踯
+噔
+碴
+砣
+忪
+藁
+镒
+佝
+峤
+峣
+搤
+汐
+嗾
+鞚
+巂
+楗
+呓
+狒
+開
+坻
+蘧
+趵
+榱
+锷
+锾
+隳
+饟
+饦
+馎
+驵
+骘
+髀
+髑
+鮼
+鲑
+鲔
+鹘
+鹚
+﹔
+│
+刈
+刖
+剎
+啐
+嘭
+噌
+噗
+嚬
+嚰
+圯
+坳
+嫄
+寖
+尻
+峋
+崃
+嶂
+嶶
+帇
+幤
+悫
+慙
+扌
+揜
+撝
+旳
+昀
+昃
+暹
+玕
+琰
+璆
+玃
+疃
+猃
+皴
+狃
+祊
+燹
+燠
+熛
+窣
+窬
+糌
+糍
+紬
+濩
+飧
+肸
+脲
+臬
+芘
+荜
+蔫
+襜
+觖
+豭
+贇
+氩
+氖
+趸
+檠
+檇
+邘
+鄏
+酡
+鑙
+钴
+铵
+氅
+莜
+柢
+悭
+鄳
+蒗
+虺
+沇
+薤
+踹
+墠
+唶
+骍
+镊
+镛
+帨
+逖
+氡
+鹣
+恹
+臛
+呃
+幂
+鹖
+間
+磛
+弢
+蛐
+懜
+凇
+闟
+璟
+遹
+肓
+剐
+垝
+杅
+笤
+佈
+撷
+佘
+嚅
+蝮
+谳
+蚝
+栀
+眢
+∵
+蓿
+枵
+橪
+騳
+≠
+蟋
+嗌
+玦
+嗄
+劙
+騠
+鞣
+唢
+茆
+蚰
+喹
+趱
+珅
+喆
+谔
+苄
+靥
+鲛
+洫
+颀
+趹
+蛩
+馓
+轫
+叡
+蒉
+睪
+漦
+胝
+瘐
+逦
+嶷
+傕
+斲
+嵬
+缇
+洙
+瘵
+縢
+渖
+價
+灊
+訇
+醍
+膦
+癜
+歃
+钎
+讵
+钰
+嫱
+婊
+狝
+榧
+脁
+柞
\ No newline at end of file
diff --git a/config.py b/config.py
index 23897c1..791d037 100644
--- a/config.py
+++ b/config.py
@@ -1,34 +1,50 @@
import numpy as np
import cv2
import os
-learning_rate=0.001
+learning_rate=1e-4
momentum=0.9
START_TOKEN = 0
END_TOKEN = 1
UNK_TOKEN = 2
VOCAB = {'': 0, '': 1, '': 2,'':3}#分别表示开始,结束,未出现的字符
VOC_IND={}
-charset='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
+#charset='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
+def get_class(path):
+ f = open(path, 'r', encoding='UTF-8')
+ line = f.readline().strip()
+ class2int = {}
+ int2class = {}
+ i = 0
+ while line != '':
+ class2int[line] = i
+ int2class[i] = line
+ line = f.readline().strip()
+ i = i + 1
+ f.close()
+ return class2int, int2class
+
+_,charset=get_class('char_std_5990.txt')
+
for i in range(len(charset)):
VOCAB[charset[i]]=i+4
for key in VOCAB:
VOC_IND[VOCAB[key]]=key
-MAX_LEN_WORD=27#标签的最大长度,以PAD
+MAX_LEN_WORD=20#标签的最大长度,以PAD
VOCAB_SIZE = len(VOCAB)
-BATCH_SIZE = 40
+BATCH_SIZE = 128
RNN_UNITS = 256
EPOCH=10000
-IMAGE_WIDTH=120
+IMAGE_WIDTH=240
IMAGE_HEIGHT = 32
MAXIMUM__DECODE_ITERATIONS = 20
-DISPLAY_STEPS = 2
+DISPLAY_STEPS = 500
LOGS_PATH = 'log'
CKPT_DIR = 'save_model'
-train_dir='train'
-val_dir='train'
-
+train_dir='../stn_cnn_lstm/vgg'
+val_dir='../stn_cnn_lstm/val256'
is_restore=True
+
def label2int(label):#label shape (num,len)
#seq_len=[]
target_input=np.ones((len(label), MAX_LEN_WORD), dtype=np.float32) +2#初始化为全为PAD
@@ -55,25 +71,43 @@ def int2label(decode_label):
label.append(temp)
return label
-def read_data(data_dir):
+def read_data(data_dir,file):
image = []
labels = []
num=0
- for root, sub_folder, file_list in os.walk(data_dir):
+ f=open(file,'r',encoding='UTF-8')
+ lines=f.read().strip().split('\n')
+ f.close()
+ for line in lines:
+ s=line.strip().split(' ')
+ label=''
+ image_name = os.path.join(data_dir, s[0])
+ im = cv2.imread(image_name, 0) # /255.#read the gray image
+ if im.shape!=[32,240]:
+ im = cv2.resize(im, (IMAGE_WIDTH, IMAGE_HEIGHT))
+ img = im.swapaxes(0, 1)
+ image.append(np.array(img[:, :, np.newaxis]))
+ for i in range(len(s)-1):
+ label+=charset[int(s[i+1])]
+ labels.append(label)
+ num += 1
+ print(data_dir, '---------------------------------get image:', num)
+ return np.array(image),labels
+
+ '''for root, sub_folder, file_list in os.walk(data_dir):
for file_path in file_list:
image_name = os.path.join(root, file_path)
im = cv2.imread(image_name, 0) # /255.#read the gray image
img = cv2.resize(im, (IMAGE_WIDTH,IMAGE_HEIGHT))
img = img.swapaxes(0, 1)
image.append(np.array(img[:, :, np.newaxis]))
- labels.append(image_name.split('_')[1])
+ labels.append(image_name.split('/')[-1].split('_')[1])
num+=1
- print(data_dir,'---------------------------------get image:',num)
- return np.array(image),labels
+ print(data_dir,'---------------------------------get image:',num)'''
+ #return np.array(image),labels
def cal_acc(pred,label):
num=0
for i in range(len(pred)):
if pred[i]==label[i]:
num+=1
return num*1.0/len(pred)
-
diff --git a/infer.py b/infer.py
index be92ddb..9f60b56 100644
--- a/infer.py
+++ b/infer.py
@@ -4,8 +4,13 @@
import os
loss,train_decode_result,pred_decode_result=build_network(is_training=True)
-saver = tf.train.Saver()
+var_list = tf.trainable_variables()
+g_list = tf.global_variables()
+bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name]
+bn_moving_vars += [g for g in g_list if 'moving_variance' in g.name]
+var_list += bn_moving_vars
+saver = tf.train.Saver(var_list=var_list,max_to_keep=5)
sess = tf.Session()
ckpt = tf.train.latest_checkpoint(cfg.CKPT_DIR)
diff --git a/model.py b/model.py
index 7761396..2c20863 100644
--- a/model.py
+++ b/model.py
@@ -2,13 +2,15 @@
import config as cfg
from tensorflow.contrib import layers
from tensorflow.python.layers.core import Dense
+from tensorflow.python.ops import embedding_ops
+
import numpy as np
slim=tf.contrib.slim
image = tf.placeholder(tf.float32, shape=(None,cfg.IMAGE_WIDTH,cfg.IMAGE_HEIGHT, 1), name='img_data')
train_output = tf.placeholder(tf.int64, shape=[None, None], name='train_output')
target_output = tf.placeholder(tf.int64, shape=[None, None], name='target_output')
sample_rate=tf.placeholder(tf.float32, shape=[], name='sample_rate')
-train_length=np.array([27]*cfg.BATCH_SIZE,dtype=np.int32)
+train_length=np.array([20]*cfg.BATCH_SIZE,dtype=np.int32)
def encoder_net(_image, scope,is_training,reuse=None):
with tf.variable_scope(scope, reuse=reuse):
@@ -50,14 +52,15 @@ def decode(helper, memory, scope, enc_state,reuse=None):
output_layer=output_layer)
outputs = tf.contrib.seq2seq.dynamic_decode(
decoder=decoder, output_time_major=False,
- impute_finished=True, maximum_iterations=27)
+ impute_finished=True, maximum_iterations=20)
return outputs
def build_network(is_training):
train_output_embed,enc_state= encoder_net(image, 'encode_features',is_training)
#vocab_size: 输入数据的总词汇量,指的是总共有多少类词汇,不是总个数,embed_dim:想要得到的嵌入矩阵的维度
- output_embed = layers.embed_sequence(train_output, vocab_size=cfg.VOCAB_SIZE, embed_dim=cfg.VOCAB_SIZE, scope='embed')#有种变为one-hot的意味
- embeddings = tf.Variable(tf.truncated_normal(shape=[cfg.VOCAB_SIZE, cfg.VOCAB_SIZE], stddev=0.1), name='decoder_embedding')#embdding变为类别
+ embeddings = tf.get_variable(name='embed_matrix',shape=[cfg.VOCAB_SIZE,256])
+ output_embed=embedding_ops.embedding_lookup(embeddings,train_output)
+
start_tokens = tf.zeros([cfg.BATCH_SIZE], dtype=tf.int64)
diff --git a/test.txt b/test.txt
new file mode 100644
index 0000000..4ba947e
--- /dev/null
+++ b/test.txt
@@ -0,0 +1,146 @@
+test_1.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_2.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_3.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_4.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_5.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_6.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_7.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_8.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_9.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_10.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_11.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_12.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_13.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_14.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_15.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_16.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_17.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_18.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_19.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_20.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_21.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_22.png 8 222 66 777 41 583 1691 1286 818 2 155 457
+test_23.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_24.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_25.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_26.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_27.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_28.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_29.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_30.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_31.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_32.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_33.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_34.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_35.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_36.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_37.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_38.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_39.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_40.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_41.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_42.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_43.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_44.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_45.png 5 16 59 727 122 259 673 564 1471 84 9 336
+test_46.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_47.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_48.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_49.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_50.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_51.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_52.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_53.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_54.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_55.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_56.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_57.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_58.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_59.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_60.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_61.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_62.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_63.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_64.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_65.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_66.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_67.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_68.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_69.png 2 154 122 1368 340 3 564 1471 84 9 61 1368
+test_70.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_71.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_72.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_73.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_74.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_75.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_76.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_77.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_78.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_79.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_80.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_81.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_82.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_83.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_84.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_85.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_86.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_87.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_88.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_89.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_90.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_91.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_92.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_93.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_94.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_95.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_96.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_97.png 340 263 82 28 222 66 55 219 2 564 1471 3
+test_98.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_99.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_100.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_101.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_102.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_103.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_104.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_105.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_106.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_107.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_108.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_109.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_110.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_111.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_112.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_113.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_114.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_115.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_116.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_117.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_118.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_119.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_120.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_121.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_122.png 564 169 340 525 702 564 1471 84 9 336 340 28
+test_123.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_124.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_125.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_126.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_127.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_128.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_129.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_130.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_131.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_132.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_133.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_134.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_135.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_136.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_137.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_138.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_139.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_140.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_141.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_142.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_143.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_144.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_145.png 564 1471 412 9 336 340 1 8 134 230 167 335
+test_146.png 564 1471 412 9 336 340 1 8 134 230 167 335
diff --git a/train.py b/train.py
index 926d768..7e7313a 100644
--- a/train.py
+++ b/train.py
@@ -1,3 +1,4 @@
+
from model import *
import config as cfg
import time
@@ -5,8 +6,16 @@
from sklearn.utils import shuffle
loss,train_decode_result,pred_decode_result=build_network(is_training=True)
optimizer = tf.train.MomentumOptimizer(learning_rate=cfg.learning_rate, momentum=cfg.momentum, use_nesterov=True)
-train_op=optimizer.minimize(loss)
-saver = tf.train.Saver(max_to_keep=5)
+var_list = tf.trainable_variables()
+g_list = tf.global_variables()
+bn_moving_vars = [g for g in g_list if 'moving_mean' in g.name]
+bn_moving_vars += [g for g in g_list if 'moving_variance' in g.name]
+var_list += bn_moving_vars
+saver = tf.train.Saver(var_list=var_list,max_to_keep=5)
+update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
+with tf.control_dependencies(update_ops):
+ train_op=optimizer.minimize(loss)
+
sess = tf.Session()
sess.run(tf.global_variables_initializer())
@@ -21,8 +30,9 @@
if ckpt:
saver.restore(sess,ckpt)
print('restore from the checkpoint{0}'.format(ckpt))
-img,label=cfg.read_data(cfg.train_dir)
-val_img,val_label=cfg.read_data(cfg.val_dir)
+img,label=cfg.read_data(config.train_dir,'train.txt')
+#img,label=cfg.read_data('test','test.txt')
+val_img,val_label=cfg.read_data(config.val_dir,'test.txt')
num_train_samples=img.shape[0]
num_batches_per_epoch = int(num_train_samples/cfg.BATCH_SIZE)
target_in,target_out=cfg.label2int(label)
@@ -42,11 +52,11 @@
sess.run( train_op,feed_dict={image: batch_inputs,train_output: batch_target_in,target_output: batch_target_out,sample_rate:np.min([1.,0.2*cur_epoch+0.2])})
if cur_batch%cfg.DISPLAY_STEPS==0:
summary_loss, loss_result = sess.run([summary_op, loss],feed_dict={image: batch_inputs,train_output: batch_target_in,target_output: batch_target_out,
- sample_rate: np.min([1., 0.2*cur_epoch+0.2])})
+ sample_rate: np.min([1., 1.])})
writer.add_summary(summary_loss, cur_epoch*num_batches_per_epoch+cur_batch)
val_predict = sess.run(pred_decode_result,feed_dict={image: val_img[0:cfg.BATCH_SIZE]})
train_predict = sess.run(pred_decode_result, feed_dict={image: batch_inputs, train_output: batch_target_in,
- target_output: batch_target_out,sample_rate:np.min([1., 0.2*cur_epoch+0.2])})
+ target_output: batch_target_out,sample_rate:np.min([1., 1.])})
predit = cfg.int2label(np.argmax(val_predict, axis=2))
train_pre = cfg.int2label(np.argmax(train_predict, axis=2))
gt = val_label[0:cfg.BATCH_SIZE]
@@ -60,6 +70,3 @@
if not os.path.exists(cfg.CKPT_DIR):
os.makedirs(cfg.CKPT_DIR)
saver.save(sess, os.path.join(cfg.CKPT_DIR, 'attention_ocr.model'), global_step=cur_epoch*num_batches_per_epoch+cur_batch)
-
-
-
diff --git a/train/test_1.png b/train/test_1.png
new file mode 100644
index 0000000..38bea76
Binary files /dev/null and b/train/test_1.png differ
diff --git a/train/test_2.png b/train/test_2.png
new file mode 100644
index 0000000..fed356a
Binary files /dev/null and b/train/test_2.png differ
diff --git a/train/test_3.png b/train/test_3.png
new file mode 100644
index 0000000..50b2eee
Binary files /dev/null and b/train/test_3.png differ
diff --git a/train/test_4.png b/train/test_4.png
new file mode 100644
index 0000000..d23a49f
Binary files /dev/null and b/train/test_4.png differ