yinchangchang / ocr_densenet Goto Github PK
View Code? Open in Web Editor NEW第一届西安交通大学人工智能实践大赛(2018AI实践大赛--图片文字识别)第一名;仅采用densenet识别图中文字
第一届西安交通大学人工智能实践大赛(2018AI实践大赛--图片文字识别)第一名;仅采用densenet识别图中文字
您好,我在用自己图片训练时,loss到0.01以下后,测试训练集内的数据,发现输出的文字有乱序现象。
训练图片是32*280,每张图至多10个字符。字符集大概400,包括汉字、标点、数字等。
乱序很多是三个字的: 123 会变成 132, 但也有12345变成51234的。
不知道是原因,请不吝赐教!
您好,我是在window7运行该工程的。运行环境是是torch1.0.0,最后改成可以训练时,出现如题所示的错误。错误如下:
`best_f1score 0
1 train-1
0%| | 0/596 [00:00<?, ?it/s]T
raceback (most recent call last):
File "main.py", line 864, in
if name == 'main':
File "main.py", line 831, in main
File "main.py", line 494, in train_eval
images, labels = [Variable() for x in data[1:3]]
File "main.py", line 471, in get_weight
label_true = (labels>0.5).sum(0)
IndexError: tuple index out of range
0%| | 0/596 [00:16<?, ?it/s]
在get_weight函数中我是没有动的,如下:
def get_weight(labels):
labels = labels.data.cpu().numpy()
weights = np.zeros_like(labels)
# weight_false = 1.0 / ((labels<0.5).sum() + 10e-20)
# weight_true = 1.0 / ((labels>0.5).sum() + 10e-20)
weight_false = 1.0 / ((labels<0.5).sum(0) + 10e-20)
label_true = (labels>0.5).sum(0)
for i in range(labels.shape[1]):
label_i = labels[:,i]
weight_i = np.ones(labels.shape[0]) * weight_false[i]
# weight_i = np.ones(labels.shape[0]) * weight_false
if label_true[i] > 0:
weight_i[label_i>0.5] = 1.0 / label_true[i]
weights[:,i] = weight_i
weights *= np.ones_like(labels).sum() / (weights.sum() + 10e-20)
weights[labels<-0.5] = 0
return weights`
给为大佬能给点提示吗?或者大概说一下这个函数的具体作用,labels的数据类型是啥?
这是我的QQ:1046306817
F1到0.9以后一直固定是1e-4,为什么继续训练下去学习率不选择继续下降?是出于怎样的考虑呢?谢谢
这边运行的时候出现很多问题,pytorch的版本需要下调,matplotlibpip2直接安装报错,需要指定2点几的版本,希望楼主可以写一下各个模块的基本版本
你好,可以分享下test label,下载链接只有train label
请问这个模型可以用来训练 电子面单识别电话号码 收件人 收件人地址码?
我也在西安 电话同微信 15101201759 现在有很多电子面单数据 不知道可以训练出来不
args.model = resnet 什么时候用到呢,训练时,args.model = resnet 还是 densenet呢
请问如何直接使用训练好的模型,更换图片测试效果?
还有头疼的模块版本问题,可以帮忙给出所用模块版本吗?
不胜感激~!
你好,请问训练该模型要多长时间呢?在什么机器上呢?
您好,我下载了您的代码和数据,训练很长一段时间准确率一直在80-90徘徊,召回率一直在60-80徘徊,而F最高只有68,和您前面给出的数据差距挺大的,能请问下可能是什么原因吗?谢谢!
我看您这个的效果很好
不知道这个结果为什么超过和DenseNet +CTC
最后不能识别重复字符是denseNet的原因吗
感谢~
我直接使用你的代码和数据,训练了一晚上精度只有70%,后边精度突然变为了0,我怀疑是预训练的模型没有记载你最新的模型,请问我该怎么做呢?多谢你分享的源码!
请问如果出现3/4 这种类型的,即一行字符中存在上下字符,这个模型能用吗?
比如用类似于发票这种的图片进行训练和识别能行吗
x = range(max(h_count_dict.keys())+1)
会报错,因为range里面只能是整数;y = [0 for _ in x]
让y初始化为一个列表,51行y[h] = h_count_dict[h]
赋值操作,因为h是小数,所以y[h]写法是错误的,会报错;A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.