Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eval结果为0 #364

Open
YunlongGa opened this issue Apr 20, 2023 · 9 comments
Open

eval结果为0 #364

YunlongGa opened this issue Apr 20, 2023 · 9 comments

Comments

@YunlongGa
Copy link

为什么我跑完之后进行eval,得到结果为零呀。有人遇到这种情况的吗
Snipaste_2023-04-20_09-29-04

@Paige-Norton
Copy link

我换成自己数据集后也是啊 为什么啊

@zhuzc123
Copy link

我一开始也遇到这个问题,把作者提供的数据集跑一下eval是正常的,然后吧自己数据集里面的坐标顺序啊,还有后面的文本内容等都跟作者的统一起来再跑就正常了

@alphaProgrammingNow
Copy link

我一开始也遇到这个问题,把作者提供的数据集跑一下eval是正常的,然后吧自己数据集里面的坐标顺序啊,还有后面的文本内容等都跟作者的统一起来再跑就正常了

老兄,我是在本地用作者提供的数据集,代码一点没改(只改了yaml里的数据集路径),训练出一个模型,然后跑eval的时候,全是0,但是如果下载作者的模型ic15_resnet18,eval就能正常输出,老兄有遇到过这种情况吗

@zhuzc123
Copy link

zhuzc123 commented Nov 20, 2023 via email

@alphaProgrammingNow
Copy link

感谢老哥提醒。其实我已经解决这个问题了,因为我没有加载预训练模型,完完全全是在自己的数据集上从头开始训练的,所以前面几个epoch根本检测不出任何文本,多训练一段时间就好了。

@xuxiansheng2018
Copy link

谢谢老哥提醒。其实我已经解决这个问题了,因为我没有加载预训练模型,完全完全是在自己的数据集上从头开始训练的,所以前面几个epoch根本检测不出任何文本,多训练一段时间就好了。

你好,如果我修改了模型,使用了预训练模型 但是最后的eval结果为0,你知道应该如何解决吗?

@9744136599
Copy link

感谢老哥提醒。其实我已经解决这个问题了,因为我没有加载预训练模型,完完全全是在自己的数据集上从头开始训练的,所以前面几个epoch根本检测不出任何文本,多训练一段时间就好了。

老哥,我也是你这样,但我用了Syntext预训练模型,跑了70个epoch下来,eval全是0

@9744136599
Copy link

感谢老哥提醒。其实我已经解决这个问题了,因为我没有加载预训练模型,完完全全是在自己的数据集上从头开始训练的,所以前面几个epoch根本检测不出任何文本,多训练一段时间就好了。

老哥,我也是你这样,但我加载了Syntext预训练模型,跑了70个epoch下来,eval全是0,

谢谢老哥提醒。其实我已经解决这个问题了,因为我没有加载预训练模型,完全完全是在自己的数据集上从头开始训练的,所以前面几个epoch根本检测不出任何文本,多训练一段时间就好了。

你好,如果我修改了模型,使用了预训练模型 但是最后的eval结果为0,你知道应该如何解决吗?

请问你这个问题解决了没有呀?救命呀~

@Obezyan0941
Copy link

I have solved this error both in evaluation and validate step. Not sure if it suits your case but here is what I ahve done:

  1. Check your base.yaml file in validate_data field. Both only_resize and keep_ratio should be true to work with polygon-based datasets.
  2. Here is how I changed validate_step in trainer.py (func's begining):
    def validate_step(self, data_loader, model, visualize=False):
        raw_metrics = []
        vis_images = dict()
        for i, batch in tqdm(enumerate(data_loader), total=len(data_loader)):
            pred = model.forward(batch, training=False)
            output = self.structure.representer.represent(batch, pred, is_output_polygon=True)
            validate_measure_out = self.structure.measurer.validate_measure(
                batch, output, is_output_polygon=True)

In short, I added is_output_polygon=True to represent and validate_measure. It works for my dataset, since it's polygons-based and not bbox-based. Hope it works for you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants