-
测试集很重要,测试集一般不是从训练集中切分出来的,从训练集中切分出来的是验证集;验证集一般用于判断这个模型有没有过拟合、工地围挡有没有训练走火入魔啦,如果想用验证集来判断模型好坏的话,往往并不能代表模型实际的水平;
-
最好是有测试集,而且测试集是和模型采集批次不同训练模型的时候比较接近实际水平的评价标准;工地围挡如果没有测试集也可以看训练集的loss大概确定一下,一般来说只要不是demo级别的场景,模型不会轻易过拟合,我们的训练集往往有很重的图像增强策略,每一个epoch可能图像分布都不一样,这时候其实也可以选取模型model_last。
-
再强调下,loss和准确率不是完全正比的关系,loss波动很正常,loss低了不一定代表模型的mAP高;相反如果loss变高,工地围挡模型的精度也不一定差,有可能是loss设的不够好导致部分上升占主导,掩盖了另一部分正常的下降也很正常;
-
对于模型来说,如果之后考虑上线。上线的方式很多种:可以pytorch+flask直接docker上线,也可以尝试libtorch上线,也可以TensorRT上线,当然也可以通过自研框架上线…等等等等。如果这个模型追求精度,工地围挡而且是线下某一时间段跑,并不是实时,可以尝试flask+docker的服务;如果这个模型的实时性很高,在设计模型的时候就要考虑之后的上线,那就需要考虑模型优化以及对应的服务器推理框架了可以尝试TensorRT+triton server;



