機器視覺 - YoloV8 劃分數據集
train/val/test 的關系
-
純訓練命令行參數
mode=train val=False model=yolov8n.pt -
訓練+val命令行參數
mode=train val=True model=yolov8n.pt -
驗證預訓練模型的命令行參數
mode=val split=val model=yolov8n.pt -
驗證自有模型的命令行參數
mode=val split=val model=best.pt -
測試自有模型的命令行參數
mode=val split=test model=best.pt -
train 數據集: 用于訓練模型的數據集
-
val 數據集: 在每個epoch完成后, 會使用val數據集進行驗證, 來計算loss和mAP等指標, 驗證集可以起到模型選擇和早停(early stoping)作用, 有助于找到泛化能力最強的模型 . val和train 數據集最好沒有交集, 但如果總數據集較少也可以使用部分train數據作為val 數據集.
-
test 數據集: test 是模型正式使用之前, 用于訓練階段從未見到的數據驗證模型效果結果, test 數據集絕對不能和train/val數據集有任何交集.
-
train/val/test數據集比例: 數據量較大情況下可以選擇8:1:1 , 數據集較小情況下可以選擇 6:2:2, 如果過早出現了過擬合, 可以加大驗證集的比例, 比如6:2:2, 甚至4:3:3.
-
train/val/test 數據集分隔工具: https://github.com/jfilter/split-folders
-
更高級的數據集合分割方法 K-Fold Cross Validation https://docs.ultralytics.com/guides/kfold-cross-validation/

浙公網安備 33010602011771號