使用yolov5训练自己的数据集
想尝试使用不同的结构试一下(yolov5s、x、m、l)
训练yolov5s的时候非常顺利
训练yolov5m的时候,可以正常运行,但是预训练权重加载不完全:
Transferred 276/481 items grom weights/yolov5m.pt
请问这是正常的吗,为什么会这样
在使用预训练权重进行训练时,部分权重加载是正常的行为。这是因为不同结构的yolov5模型具有不同的层数和参数数量,因此加载预训练权重时,只有匹配的层权重会被加载,其余的权重会保持随机初始化状态。
对于yolov5模型,预训练权重文件中的层与你选择的结构(如s、x、m、l)的层并不完全匹配。每个结构都有不同的网络结构和层数,因此预训练权重加载时会根据网络结构匹配可用的权重。
在你的情况下,当你使用yolov5m进行训练时,预训练权重只能成功加载部分权重(276/481)。这是因为yolov5m的网络结构与预训练权重文件中的层不完全匹配。
这种情况下,预训练权重加载部分权重是正常的行为,你可以继续使用加载的权重进行训练。网络会根据你的训练数据进行进一步的调整和优化。
需要注意的是,如果你希望加载完整的预训练权重,可以考虑使用与预训练权重匹配的结构,例如yolov5s。这样可以确保更多的权重被成功加载,并在训练中受益于更多的预训练信息。