SURFZJY / EAST-caffe

A Caffe implementation of EAST text detector
MIT License
17 stars 8 forks source link

DataLyer 数据处理出错 #2

Closed corleonechensiyu closed 4 years ago

corleonechensiyu commented 4 years ago

Traceback (most recent call last): File "train.py", line 27, in train(args.initmodel, args.gpu) File "train.py", line 15, in train solver = caffe.AdamSolver('solver.prototxt') File "/home/csy/TextField/examples/EAST-caffe/pylayerUtils.py", line 49, in reshape self.data, self.score_map, self.geo_map = self.load() ValueError: too many values to unpack 看了下def get_whole_data()函数,return了5个参数 if len(images) == batch_size: return images, image_fns, score_maps, geo_maps, training_masks images = [] image_fns = [] score_maps = [] geo_maps = [] training_masks = [] 这里我去掉了training_masks和image_fns,images中的任意一个,出现这个错误,所以返还的参数是否有误. *Traceback (most recent call last): File "train.py", line 27, in train(args.initmodel, args.gpu) File "train.py", line 15, in train solver = caffe.AdamSolver('solver.prototxt') File "/home/csy/TextField/examples/EAST-caffe/pylayerUtils.py", line 45, in reshape top[0].reshape(self.data.shape) AttributeError: 'list' object has no attribute 'shape'**

corleonechensiyu commented 4 years ago

你好,能回答一下我这个问题嘛,是哪里步骤出错了呢

SURFZJY commented 4 years ago

之前的版本存在一些问题,目前已经修复了。

corleonechensiyu commented 4 years ago

之前的版本存在一些问题,目前已经修复了。

嗯嗯

corleonechensiyu commented 4 years ago

之前的版本存在一些问题,目前已经修复了。 可以很好的运行了,请问loss 要降到多少才算收敛呢

corleonechensiyu commented 4 years ago

之前的版本存在一些问题,目前已经修复了。

Iteration 5000 ,loss = 0.00766722 I1020 16:06:06.337922 21319 solver.cpp:247] Train net output #0: Loss_rbox = 0.00358423 ( 1 = 0.00358423 loss) I1020 16:06:06.337954 21319 solver.cpp:247] Train net output #1: Loss_score = 0.00846642 ( 0.01 = 8.46642e-05 loss)

当我训练到loss是这样的时候,测试结果并没有你提供的model好,而且很不理想,还会出现误框.请问是我的loss降的不够低,还是什么原因呢,thanks

yiran-THU commented 4 years ago

you just run 5k iteration, it is too small. Obvious, the performance will be not so desirable.

corleonechensiyu commented 4 years ago

you just run 5k iteration, it is too small. Obvious, the performance will be not so desirable.

我只用了10几张图片训练,有预训练模型,loss都降到了0.007了,难道还不行嘛

SURFZJY commented 4 years ago

效果不够好可能有很多种原因,我提供的这个模型只是一个示例,是一个轻量级的基于MobileNet-V3的结构,而且训练数据和测试数据都是合成的身份证照片,噪声少,因此展示出来的效果比较好。如果你是想训练icdar的数据集的话可能这个模型的特征提取能力还不够。 关于误检的问题可能通过设置demo.py中的thr阈值来改进。

corleonechensiyu commented 4 years ago

效果不够好可能有很多种原因,我提供的这个模型只是一个示例,是一个轻量级的基于MobileNet-V3的结构,而且训练数据和测试数据都是合成的身份证照片,噪声少,因此展示出来的效果比较好。如果你是想训练icdar的数据集的话可能这个模型的特征提取能力还不够。 关于误检的问题可能通过设置demo.py中的thr阈值来改进。

嗯嗯 谢谢!

SURFZJY commented 4 years ago

另外,为加快训练速度,如果你要训练的数据集是水平框的标注形式,可以将icdar.py中593-600行的部分注释掉,换用602-605行注释部分的计算方式。

corleonechensiyu commented 4 years ago

另外,为加快训练速度,如果你要训练的数据集是水平框的标注形式,可以将icdar.py中593-600行的部分注释掉,换用602-605行注释部分的计算方式。

非常感谢!

yiran-THU commented 4 years ago

you just run 5k iteration, it is too small. Obvious, the performance will be not so desirable.

我只用了10几张图片训练,有预训练模型,loss都降到了0.007了,难道还不行嘛

10几张图,用来训练SVM都不够啊。。。

yiran-THU commented 4 years ago

效果不够好可能有很多种原因,我提供的这个模型只是一个示例,是一个轻量级的基于MobileNet-V3的结构,而且训练数据和测试数据都是合成的身份证照片,噪声少,因此展示出来的效果比较好。如果你是想训练icdar的数据集的话可能这个模型的特征提取能力还不够。 关于误检的问题可能通过设置demo.py中的thr阈值来改进。

请问up主用这个模型训练IC15过吗,效果咋样?

SURFZJY commented 4 years ago

有在IC13上训过,效果不太好。换成vgg16的模型效果还可以。

yiran-THU commented 4 years ago

有在IC13上训过,效果不太好。换成vgg16的模型效果还可以。

没理由啊 照理说,MBV3的效果比VGG16好,不会性能下降

是不是搭网络有地方没弄好?

SURFZJY commented 4 years ago

有好几种可能性。我提供的这个网络是自己按照mobilenetv3论文里的结构搭的,但是由于一些层没有支持的原因选用了一些替代的方式去实现,相比于原来的精度可能就有所损失。再者我这个模型并没有在分类数据集上去测试性能,未必是真正复现了mbv3的结构。然后我训练ic13轮数也不够,后续没有继续去训。哈哈仔细想想问题还是挺多的。

yiran-THU commented 4 years ago

有好几种可能性。我提供的这个网络是自己按照mobilenetv3论文里的结构搭的,但是由于一些层没有支持的原因选用了一些替代的方式去实现,相比于原来的精度可能就有所损失。再者我这个模型并没有在分类数据集上去测试性能,未必是真正复现了mbv3的结构。然后我训练ic13轮数也不够,后续没有继续去训。哈哈仔细想想问题还是挺多的。

这里有个其他人基于caffe搭好的MBV3,可以借鉴下 https://github.com/jixing0415/caffe-mobilenet-v3

另外,我给up主发过邮件,不过一直没有回复。 我也有兴趣维护这个库,能加个联系方式吗?

SURFZJY commented 4 years ago

这个库我有参考过,但似乎有些层跟论文不一致,我的模型是完全一致的。 欢迎共同维护。我的微信 ZHANGJIYUANSURF