ctc center-loss在字符识别形近字分类中的使用

最近在处理字符识别形近字易识别错的问题,然后有大佬推荐了ctc center loss,该方法来源于阿里,据说效果不错

1.先介绍以下ctc center loss(ctc loss + center loss)

ctc loss我就不介绍了,center loss 最早用于人脸识别中的loss函数,该loss 的目的就是更好的扩大类间距离,缩小类内距离;而在字符识别中的使用,可以分为以下几个步骤:

step1:得到模型的预测结果,和双向长短期记忆法第二个rnn的lstm(线性层之前)的输出结果;

step2:将预测结果中字符数量和标签字符数量相等的预测结果保留下来,并提取出相应的真实标签,和对应的feature的位置;

step3:将step的feature提取出来,和对应的label,计算centerloss;

step4:将计算出的centerloss结果乘以系数然后和ctc loss求和;

2.tf中具体代码实现参考链接

读光OCR-文字识别技术解读与ctc center loss实现

由于作者在他的代码中已经备注很详细,所以就不再赘述,要是有什么不太懂的可以留言;

3.在使用tensorflow时遇到的报错

W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared
 object file: No such file or directory; LD_LIBRARY_PATH: /home/fuxueping/sdb/Installation/qt/Tools/lib::/home/fuxueping/anaconda2/envs/pytor
ch1_1/lib/python3.6/site-packages/PyQt5:/usr/local/cuda/lib64:/usr/lib/x86_64-
linux-gnu:/usr/local/protobuf/lib:/usr/lib/x86_64-linux-gnu/atlas:/usr/lib/x86_64-
linux-gnu/boost:/usr/lib:/usr/local/protobuf/lib/:/home/fuxueping/anaconda2/envs/pytorch1
_1/lib/python3.6/site-packages/PyQt5:/usr/lib/x86_64-linux-gnu
2021-02-26 15:18:36.925385: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] 
Ignore above cudart dlerror if you do not have a GPU set up on your machine.

解决方法:

import tensorflow as tf

之前加入:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

解决办法参考:cpu版tensorflow去除告警信息:Could not load dynamic library 'libcudart.so.10.1' - 简书

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫猫与橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值