仅作为备忘用,语无伦次,请见谅!!!
一、数据处理前一定要做好数据清洗
采集的数据格式和label都有各种问题,直接导入算法中,程序会出错,如果显性的报错还好办,就怕隐性的错误,根本就不知道训练的数据都不对。。。。反正loss也在下降。。。。很是坑啊!!!
例如:无效label(错误的、超出边界的、面积接近0的)、错误格式的图片、错误格式的xml(无object导致空label[]、label名字取错的)
二、python变量取名,在同一个域内注意不要重复使用
例如:x,y,i,j,l,lable,这些常用变量不要重复使用。。。。导致输出值莫名奇妙地是错的。。。。。找了好久问题。。。
三、分类问题要远比回归问题好解决,尽量把问题转化为分类
四、不要追求loss最低,因为很多时候是过拟合,要适当地val一下,如果过拟合了,再训练下去,即使loss再低,应该也没意义。模型炼丹经验还在摸索中,不时更新
五、目标检测项目不是所有的用mirror就会增强数据,我尝试在文本检测中用水平垂直mirror,可是发现loss比不用mirror增强还大。。。。个人推断是文本检测让机器更多的是识别文字的存在,然而文字镜像后还是文字吗??检测只是判断是不是文字,镜像的文字在test中是不会出现的,如果让机器学习镜像就会导致(上述为推断。。。。靠谱结论待续)
错误备忘:
IndexError: too many indices for array
使用zip出这个错误,可能是矩阵横竖的问题