源码链接:https://github.com/ultralytics/yolov5/blob/master/train.py
在train(hyp)函数中,进行训练前的准备
- 使用yaml加载data文件,获取存储训练、验证图片路径的txt文件路径
- 通过cfg文件,初始化网络结构model
- 判断并计算图片的尺度
- 获取模型优化参数biases、weight,选取优化函数
def train(hyp):
epochs = opt.epochs # 300 最大迭代次数
batch_size = opt.batch_size # 64 一个batch的大小
weights = opt.weights # initial training weights 初始化权重文件路径
# Configure
init_seeds(1) # 设置random、np.random、torch随机种子
with open(opt.data) as f:
data_dict = yaml.load(f, Loader=yaml.FullLoader) # model dict 加载yaml数据文件
train_path = data_dict['train'] # 存储训练数据的txt文件路径
test_path = data_dict['val'] # 存储验证数据的txt文件路径
nc = 1 if opt.single_cls else int(data_dict