当数据集中存在一张图上有多类目标时,按比例随机划分训练集和验证集,可能会出现验证集某一类很少甚至没有的情况
解决办法:
划分的时候应该优先划分数量最少的类别,依此类推,以下为代码实现结果:
当前划分类: 15
包含该类的剩余总文件数: 47
当前类分配情况:train:37 val:10
------------------------------------
当前划分类: 2
包含该类的剩余总文件数: 54
当前类分配情况:train:43 val:11
------------------------------------
当前划分类: 3
包含该类的剩余总文件数: 54
当前类分配情况:train:43 val:11
------------------------------------
当前划分类: 17
包含该类的剩余总文件数: 95
当前类分配情况:train:76 val:19
------------------------------------
当前划分类: 18
包含该类的剩余总文件数: 89
当前类分配情况:train:71 val:18
------------------------------------
当前划分类: 7
包含该类的剩余总文件数: 99
当前类分配情况:train:79 val:20
------------------------------------
当前划分类: 9
包含该类的剩余总文件数: 99
当前类分配情况:train:79 val:20
------------------------------------
当前划分类: 16
包含该类的剩余总文件数: 99
当前类分配情况:train:79 val:20
------------------------------------
当前划分类: 0
包含该类的剩余总文件数: 114
当前类分配情况:train:91 val:23
------------------------------------
当前划分类: 10
包含该类的剩余总文件数: 147
当前类分配情况:train:117 val:30
------------------------------------
当前划分类: 12
包含该类的剩余总文件数: 175
当前类分配情况:train:140 val:35
------------------------------------
当前划分类: 13
包含该类的剩余总文件数: 203
当前类分配情况:train:162 val:41
------------------------------------
当前划分类: 11
包含该类的剩余总文件数: 170
当前类分配情况:train:136 val:34
------------------------------------
当前划分类: 6
包含该类的剩余总文件数: 131
当前类分配情况:train:104 val:27
------------------------------------
当前划分类: 19
包含该类的剩余总文件数: 181
当前类分配情况:train:144 val:37
------------------------------------
当前划分类: 14
包含该类的剩余总文件数: 179
当前类分配情况:train:143 val:36
------------------------------------
当前划分类: 8
包含该类的剩余总文件数: 238
当前类分配情况:train:190 val:48
------------------------------------
当前划分类: 5
包含该类的剩余总文件数: 226
当前类分配情况:train:180 val:46
------------------------------------
当前划分类: 1
包含该类的剩余总文件数: 390
当前类分配情况:train:312 val:78
------------------------------------
当前划分类: 4
包含该类的剩余总文件数: 447
当前类分配情况:train:357 val:90
------------------------------------
当前划分类: 20
包含该类的剩余总文件数: 463
当前类分配情况:train:370 val:93
------------------------------------
数据集分配情况:
分配优先级:[15, 2, 3, 17, 18, 7, 9, 16, 0, 10, 12, 13, 11, 6, 19, 14, 8, 5, 1, 4, 20]
train:2953 val:747