darknet 框架中YOLO权重文件的种类及存储结构
在darknet框架中YOLO权重文件用于存储神经网络中的各种权重,是二进制文件。
文件类型
该类型文件后缀有3类,一类是“.weight”,一类是“.backup”,还有一类是数字(文件名如“darknet53.conv.74”、“yolov3-tiny.conv.15”)。
第一类:后缀“.weight”和“.backup”文件
它们其实是一类文件,由于都是二进制文件,后缀只是用于起到一个区分的作用。
文件的生成参考detector.c文件train_detector函数中的代码:
//每100批次保存一次weight,保存成“.backup"文件,每1000次更新一次
if(i%100==0){
#ifdef GPU
if(ngpus != 1) sync_nets(nets, ngpus, 0);
#endif
char buff[256];
sprintf(buff, "%s/%s.backup", backup_directory, base);
save_weights(net, buff);//将net中更新的weight存在backup文件中
}
//当训练批次是10000的整数倍或者1000以内的100的整数倍时,生成一个后缀为“.weight”的文件,文件标注训练次数累积保存,但是第1000就只能保存成“.backup"文件了,并且每100批次更新一遍,直到第10000次
if(i%10000==0 || (i < 1000 && i%100 == 0)){
#ifdef GPU
if(ngpus != 1) sync_nets<