大家有很多都是做目标检测的,然而目前来说各种算法已经做的相当好了,但是缺少自己的数据集,目标检测很多都是交叉着来用的,它可以用在很多方面:比如行人检测,车辆检测,筷子识别,还有最狠的就是上课学生注意力识别,这些东西的实现都是有算法在做支撑,但重中之重的是数据集,有一个好的数据集可以在实践中发挥很多的作用,就比如说我们在上高中时期学的各种模考,各种题型的训练就是为了能在真实的考试中发挥的更好,在好比如现在最火的汽车行业,每一款车型在上市的时候都有质量检测,比如25%偏置碰撞测试等,在这些的实验测试中车辆能表现的好的话,那么用户在使用过程中可以更大程度的保证乘客人身安全。
在目标检测领域乃至于深度学习这个大范围下,数据集都是很重要的存在。
现在就给大家讲一下我对数据集的理解和一些推荐的公共数据集来源。
数据集一般分为:训练集,验证集,测试集
很多情况下测试集是没有的
先分别介绍一下:
训练集:
- 训练集是训练模型的注意数据
- 训练集的占比是最大的
- 模型通过在训练集上训练来优化参数
验证集:
- 验证集是对模型进一步的调整(对训练集训练后的模型进行进一步调整)
- 验证集的占比一般较少(是数量上占比少,但是类型上该有的还是得有)
- 验证集必不可少
测试集:
- 测试集是为了检验整体模型的性能,它只是评估模型的性能,不对模型进行参数调整
- 测试集可以没有
打个比方
好比一个在考试的时候,训练集就是练习题,它只是题,而验证集就是练习题的答案,去检验训练的结果,提高做题准确率,而测试集相当于一次模考,它也是检测学的程度到底怎么样,至于真正的运行那就是考试了。
接下来就是说一下什么是batchsize
batchsize是批量大小,举个例子吧
大家在跑模型的时候都会去设置batchsize的大小,
比如数据集的训练集有1000个,batchsize=4,那么需要处理的批次就是250次,电脑一次同时处理4个数据。
所以说,batchsize越大处理越快,这和显卡规格相关,显卡越好显存越大,处理的速度越快。
打个比方,有100个饺子(大家都很能吃),小姚嘴小一口只能吃一个,小阮一口只能吃两个,小浩一口能吃4个,小竞一口吃10个,大家都是饺子进嘴就吞肚子里了,这个速度一样。那么同样100个饺子,小竞是吃的最快的,他一口吃10个,10回就吃完了。
最后在附上几个公共数据集网站
国内的
天池数据集_阿里系唯一对外开放数据分享平台-阿里云天池 (aliyun.com)
开放数据集- 飞桨AI Studio星河社区 - 人工智能学习与实训社区 (baidu.com)