Python 在使用带有自定义数据集的Deeplab时,是否应该向segmentation_dataset.py文件以外的文件添加描述符?

Python 在使用带有自定义数据集的Deeplab时,是否应该向segmentation_dataset.py文件以外的文件添加描述符?,python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,我目前正在使用DeepLab进行一个分段项目,我想知道为什么大多数教程只提到更新一个名为segmentation_dataset.py的脚本,其中包含一个与您自己的数据集相关的分割描述符 _BLABLABLA = DatasetDescriptor( splits_to_sizes={ 'train': 5, 'val': 3, 'trainval': 8, }, num_classes=3, # 2 foreground

我目前正在使用DeepLab进行一个分段项目,我想知道为什么大多数教程只提到更新一个名为segmentation_dataset.py的脚本,其中包含一个与您自己的数据集相关的分割描述符

_BLABLABLA = DatasetDescriptor(
    splits_to_sizes={
        'train': 5,
        'val': 3,
        'trainval': 8,
    },
    num_classes=3,  # 2 foreground + 1 background
    ignore_label=255,
)
加上下该数据集的名称

_DATASETS_INFORMATION = {
    'cityscapes': _CITYSCAPES_INFORMATION,
    'pascal_voc_seg': _PASCAL_VOC_SEG_INFORMATION,
    'ade20k': _ADE20K_INFORMATION,
    'bla': _BLABLABLA,
}
这一切都很好,但如果深入研究代码,您(或我)将意识到在train.py脚本中,将调用名为data_generator.py的.py文件。打开时,它包含每个数据集的特征列表。有趣的是,DeepLab的任何教程都没有提到您应该像segmentation_dataset.py一样使用数据集的描述更新这个.py脚本(data_generator)

这怎么可能?数据集名称是一个标志,因此是一个train.py参数,默认情况下指向pascal数据集。因此,如果您使用自己的数据集,您如何告诉train.py“我希望您注意bla的特性”而不是pascal

还有一些人会说,你不需要担心,因为你的所有数据都被捕获在你的TFR记录中。但是,不显式地命名数据集还是会有一些后果的,对吗