bubbliiiing / yolov4-keras

这是一个YoloV4-keras的源码,可以用于训练自己的模型。
MIT License
491 stars 186 forks source link

训练结束后识别不到物体 #57

Closed Aurora-LiZhi closed 3 years ago

Aurora-LiZhi commented 3 years ago

之前使用了anaconda配置了CPU的环境,打标了1k的图像进行训练,可以很好的得到识别框。之后anaconda崩了,重新配置了一样的tensorflow和keras,代码没动,增加了500图像后,训练完运行predict报错,识别不到物体。用之前成功训练的1k图像和一样的代码又训练一遍后也是这样的问题。。。想问下有没有可能是其他环境版本的原因

Aurora-LiZhi commented 3 years ago

补充:一张图像上识别一个物体,只有一个分类,只是想识别这个物体在图像上的位置并返回左上和右下两点的坐标值,给代码简单修改了一下。训练完没有报错,但是用图像进行predicet就显示没有识别到物体。之前明明成功过,想请各位大佬给点解决思路。 image image

bubbliiiing commented 3 years ago

这return image,point 你这个point哪里来的,自己加的吗

bubbliiiing commented 3 years ago

你下一下新代码试试看

bubbliiiing commented 3 years ago

先不要自己修改

Aurora-LiZhi commented 3 years ago

这返回图像,点 你这个点哪里来的,自己加的吗

你下一下新代码试试看 我将left right等四个点组合成一个列表,命名为point和图像一起返回来了。这两天我进行了多次测试,用predict加载之前训练的模型,可以成功识别,但是现在训练的模型就不行。所以我想应该是train.py保存模型部分有问题。经过几方面的排除,代码在之前成功训练后没有改动。我觉得是不是matploylib、opencv、numpy等环境的变动造成的

Aurora-LiZhi commented 3 years ago

你下一下新代码试试看

最新的代码是现在这个yolo-keras么 我看了一下,用的就是这样

bubbliiiing commented 3 years ago

最后的loss多少

Aurora-LiZhi commented 3 years ago

这返回图像,点 你这个点哪里来的,自己加的吗 还发现一个问题,之前训练的模型都是500M多一些,现在训练出的模型是200M多。一样的代码一样的数据集,我感觉问题就出在这里了。您能否给提供下您那边成功的环境下,pil、matploylib、opencv、numpy、h5py这几个环境的版本。我感觉就是train.py程序运行环境的问题。 image

bubbliiiing commented 3 years ago

500多M???500M不太合理,我训练出来都是200多M

Aurora-LiZhi commented 3 years ago

最后的loss多少

三点几还是四点几来着

Aurora-LiZhi commented 3 years ago

500多M???500M不太合理,我训练出来都是200多M

可是我成功识别的那几个h5文件都是500多M。。。

bubbliiiing commented 3 years ago

那你训练了多少代啊

bubbliiiing commented 3 years ago

我一直都是只保存weights的,你如果没有修改过代码,500M的应该不是我的代码训练的

Aurora-LiZhi commented 3 years ago

那你训练了多少代啊

50个epoch运行完之后好像又运行了100个epoch

Aurora-LiZhi commented 3 years ago

我一直都是只保存weights的,你如果没有修改过代码,500M的应该不是我的代码训练的

image 使用的这个权重,这部分应该没修改过

bubbliiiing commented 3 years ago

你下的预训练权重都只有200多M阿

Aurora-LiZhi commented 3 years ago

我一直都是只保存WITES的,你如果没有修改过代码,500米的应该不是我的代码训练的

最可气的是 一样的代码 之前我训练完后可以正常识别 那个成功了的环境崩溃了 我重新搭建了一个 代码没有改变 就成了现在这个结果 所以我想是不是环境的锅

Aurora-LiZhi commented 3 years ago

你下的预训练权重都只有200多M阿

对了 我没有下载网盘里的那两个权重 , 最开始载入初始权重那部分 我没有放入那个model_data下的文件 这个有影响么

bubbliiiing commented 3 years ago

我建议是,重下代码和权重,然后全部重新开始,应该不是环境的问题

bubbliiiing commented 3 years ago

重新开始训练就改个txt方便的很

Aurora-LiZhi commented 3 years ago

我建议是,重下代码和权重,然后全部重新开始,应该不是环境的问题

好吧 我再试试看

Aurora-LiZhi commented 3 years ago

重新开始训练就改个txt方便的很

非常感谢

bubbliiiing commented 3 years ago

有可能是我之前的代码出现了nan的问题,这个问题我改了很久,新代码我试了很多次没有

Aurora-LiZhi commented 3 years ago

有可能是我之前的代码出现了nan的问题,这个问题我改了很久,新代码我试了很多次没有

新的代码是现在的yolo-keras么?还有个问题,我训练自己的数据,也需要下载百度网盘里的那两个权重文件么

bubbliiiing commented 3 years ago

是 要

Aurora-LiZhi commented 3 years ago

是 要

感谢指点;刚刚尝试了下torch版本的yolo,训练了40个图像有效果了,解决了识别不到物体的问题。torch这方面我没太接触过,还是想问一下:训练后logs文件夹内出现一堆pth权重文件,predict.py中的model_path要改成logs文件夹中loss最小的那个权重么?以及,训练完后百度网盘下载的那俩权重文件是没用了么?还请大佬指点

bubbliiiing commented 3 years ago

1、一般选最低 2、他们的作用依然是预训练权重