Python TensorFlow对象检测API只从几个类中训练一个类

Python TensorFlow对象检测API只从几个类中训练一个类,python,machine-learning,tensorflow,object-detection,tensorboard,Python,Machine Learning,Tensorflow,Object Detection,Tensorboard,我在自己的数据集上用TF Object Detection API在几个类上运行训练过程,但是经过相当多的步骤(大约20k)后,我可以在TensorBoard的PerformanceByCategory菜单上看到,只有一个类的映射在增加,而其他类甚至没有启动 我的数据集是PascalVOC格式的,我是按照这个格式创建的。在数据准备完成后,我生成了Pascal记录,编辑了标签地图和管道配置,将所有ssd模型检查点的员工下载到Google云平台,并开始了相应的培训和评估工作 但从TensorBoa

我在自己的数据集上用TF Object Detection API在几个类上运行训练过程,但是经过相当多的步骤(大约20k)后,我可以在TensorBoard的PerformanceByCategory菜单上看到,只有一个类的映射在增加,而其他类甚至没有启动

我的数据集是PascalVOC格式的,我是按照这个格式创建的。在数据准备完成后,我生成了Pascal记录,编辑了标签地图和管道配置,将所有ssd模型检查点的员工下载到Google云平台,并开始了相应的培训和评估工作

但从TensorBoard看来,数据或其他方面似乎有问题,因为我的另一个类没有发生任何事情

在使用多个类培训对象检测API时,是否有任何提示或功能

提前谢谢你的帮助

[编辑]:

所以,在尝试使用他们在教程中默认提供的PascalVOC数据集训练模型后,我注意到他们的Pascal记录比我的要大得多。我在文本编辑器中打开了它们,图像集中的每个类都有引用,但是我的记录只包含我在create_pascal_tf_records.py中指向的那个类的引用


我错过了什么?请帮忙

好吧,我想我已经找到了问题所在

主要的问题是我制作的图像集不正确。对于每个类,我都添加了相应的图像列表,因此在我的例子中,每个train和val文件都是不同的

由于:

有趣的是,我们目前只看 AirPlane_train.txt文件(与其他文件相同 xxx_train.txt文件),并让我们计算出每个图像的路径 训练集

由于每个文件都不同,create_pascal_tf_records.py只选择到我的第一个类的路径


希望这对其他人有所帮助。

num\u steps
表示程序将运行的总迭代次数。您的数据似乎有问题,请检查您的数据是否被读者正确检索。body,我该如何检查?在我创建了pascal tf记录并更改了标签映射之后,我按照voc pascal格式生成数据。看起来一切正常,在这种情况下会有什么影响?我也面临同样的问题,你能详细说明如何解决这个问题吗。我有3个类,我使用labelImg标记它们,然后创建xml的csv,然后创建我的tfrecords,总共3个类。所以,在本例中,我只有1个train-tfrecords和1个val-tfrecords。救救我@saikishor在我的案例中,故障在train和val文件中。我对每个文件都有不同的图像列表,但是我发现所有这些文件都应该有相同的图像列表。因此,例如aeroplane_train.txt、dog_train.txt、cat_train.txt和其他文件的第一列应该相同,只有第二列不同。很高兴知道!!我昨晚发现了我的问题,因为我无意中在配置文件中提到了类的数量为1,所以我看不到它。在我的例子中,我已经从这些XML创建的csv文件中创建了数据集。我发现这很容易。谢谢您的回复。@saikishor很高兴听到您解决了一个问题!祝你好运