修改yolo3.cfg参数文件(这个文件是用于转换官网下载的.weights文件用的。训练自己的网络并不需要去管他):
打开cfg文件,command(ctrl)+f 搜 yolo , 总共会搜出3个含有yolo的地方
每个地方都要改3处
filters:3*(5+len(classes));
classes: len(classes) = 3,这里以三色模式(红、黄、蓝)为例
random:原来是1,改为0(显存小)
生成yolo3所需的train.txt,val.txt,test.txt生成的数据集不能供yolov3直接使用。
将VOC数据集放在代码同一目录下,然后先生成需要进行训练的txt文件,包括图片路径、类别和bbox,一张图片有多个目标时用’ '隔开,根据使用VOC数据集的年份修改voc_annotation.py文件中的sets,根据需要训练的类别修改classes。
运行生成txt文件程序,根据sets得到三个不同的txt文件,方便用于做训练、验证和测试:
python voc_annotation.py
如果要用预训练的权重接着训练,则需要执行以下代码:然后执行原.py就可以了,在此基础上进行训练,可以修改冻结层数。将darknet下的yolov3配置文件转换成keras适用的h5文件:
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5