VOCBboxDataset 应用于我的数据集时返回不正确的数据集大小

图拉克霍德

我有一个包含两个类的 250 个图像数据集和 250 个注释文件:ball 和 player。该文件夹还有三个文本文件 train.txt、val.txt、test.txt,分别包含训练、测试和验证图像的列表。

bball_labels = ('ball','player')
class BBall_dataset(VOCBboxDataset):
  def _get_annotations(self, i):
    id_ = self.ids[i]
    anno = ET.parse(os.path.join(self.data_dir, 'Annotations', id_ + 
'.xml'))
    bbox = []
    label = []
    difficult = []
    for obj in anno.findall('object'):
      bndbox_anno = obj.find('bndbox')
      bbox.append([int(bndbox_anno.find(tag).text) - 1 for tag in ('ymin', 
'xmin', 'ymax', 'xmax')])
      name = obj.find('name').text.lower().strip()
      label.append(bball_labels.index(name))
    bbox = np.stack(bbox).astype(np.float32)
    label = np.stack(label).astype(np.int32)
    difficult = np.array(difficult, dtype=np.bool)
    return bbox, label, difficult

在 250 个中,我将 170 个作为训练,70 个作为 val,10 个作为测试图像。但是在打印 train、val 和 test 数据集的长度时,我总是得到 train+12, train+3 nad test。例如,在这种情况下,train、val 和 test 将显示为 182,73,10。测试值不变。每次 train 和 val 值都会增加 12 和 3。

valid_dataset = BBall_dataset('BasketballDataset', 'val')
test_dataset = BBall_dataset('BasketballDataset', 'test')
train_dataset = BBall_dataset('BasketballDataset', 'train') 

print('Number of images in "train" dataset:', len(train_dataset))
print('Number of images in "valid" dataset:', len(valid_dataset))
print('Number of images in "test" dataset:', len(test_dataset))

“train”数据集中的图像数量:182 “valid”数据集中的图像数量:73 “test”数据集中的图像数量:10

为什么会发生这种情况以及如何防止这种情况发生。而且它是否会以某种方式影响我的训练过程?

train.txt 链接 ( https://imgur.com/B1Gszfi ) val.txt 链接 ( https://imgur.com/kOcIZ5h )

图拉克霍德

这个问题是由于一个小的被忽视的情况,当图像列表被剪切、复制和粘贴到同一文件中时,文本文件有间隙。文本文件是在记事本中创建的。在记事本中索引是不可见的,但是一旦您查看 github 中的文本文件,其中初始索引仍然存在并且索引仍然存在,即使列表的大小被缩小,间隙也是可见的。例如,首先创建了一个包含 182 个图像的列表,但后来减少到 170 个。因此,当我们使用 Dataset Creation 对象时,代码读取文本文件的所有行,即它将读取 182 个而不是 170 个。我们需要确保索引的数量和图像的数量是相同的,以避免这个问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

`ddply`无法按组将逻辑回归(GLM)应用于我的数据集

来自分类Dev

数据集引用不正确

来自分类Dev

DICOM 数据集加载不正确

来自分类Dev

为什么将我的神经网络预测应用于MNIST手绘图像时正确,而应用于我自己的手绘图像却不正确?

来自分类Dev

函数应用于数据集R

来自分类Dev

D3:“ bubble.nodes”未将正确的图形数据应用于数据集

来自分类Dev

SSRS数据集错误:目标主体名称不正确

来自分类Dev

opengl多维数据集显示不正确

来自分类Dev

num_rows总是返回数据库中没有不正确的行(等于我的输入)

来自分类Dev

将lm应用于多个数据集

来自分类Dev

将numpy.polyfit应用于xarray数据集

来自分类Dev

curve_fit应用于离散数据集问题

来自分类Dev

如何将CountVectorizer应用于数据集的列?

来自分类Dev

将特征选择应用于新的X数据集

来自分类Dev

将 keras CNN 应用于新数据集

来自分类Dev

将逻辑回归应用于简单数据集

来自分类Dev

决策树应用于数据集的问题

来自分类Dev

Pandas Complex GroupBy 并应用于机器学习数据集

来自分类Dev

从管道读取时返回的数据不正确

来自分类Dev

石墨返回不正确的数据点

来自分类Dev

R gsub返回不正确的数据

来自分类Dev

子返回不正确的数据

来自分类Dev

不正确的Firebase数据返回

来自分类Dev

返回的数据顺序不正确

来自分类Dev

ArrayList的ArrayList返回不正确的数据

来自分类Dev

Postgresql:查询返回不正确的数据

来自分类Dev

日历 API 返回的数据不正确

来自分类Dev

从BVH文件中提取数据并将其应用于我的3D模型?

来自分类Dev

如何使条形宽度均匀,并将建议的修正应用于我的数据?

Related 相关文章

热门标签

归档