|
69 | 69 | # 此处使用的是整个模型的权重,因此是在train.py进行加载的。
|
70 | 70 | # 如果想要让模型从主干的预训练权值开始训练,则设置model_path为主干网络的权值,此时仅加载主干。
|
71 | 71 | # 如果想要让模型从0开始训练,则设置model_path = '',Freeze_Train = Fasle,此时从0开始训练,且没有冻结主干的过程。
|
72 |
| - # 一般来讲,从0开始训练效果会很差,因为权值太过随机,特征提取效果不明显。 |
73 |
| - # |
74 |
| - # 网络一般不从0开始训练,至少会使用主干部分的权值,有些论文提到可以不用预训练,主要原因是他们 数据集较大 且 调参能力优秀。 |
75 |
| - # 如果一定要训练网络的主干部分,可以了解imagenet数据集,首先训练分类模型,分类模型的 主干部分 和该模型通用,基于此进行训练。 |
| 72 | + # |
| 73 | + # 一般来讲,网络从0开始的训练效果会很差,因为权值太过随机,特征提取效果不明显,因此非常、非常、非常不建议大家从0开始训练! |
| 74 | + # 从0开始训练有两个方案: |
| 75 | + # 1、得益于Mosaic数据增强方法强大的数据增强能力,将UnFreeze_Epoch设置的较大(300及以上)、batch较大(16及以上)、数据较多(万以上)的情况下, |
| 76 | + # 可以设置mosaic=True,直接随机初始化参数开始训练,但得到的效果仍然不如有预训练的情况。(像COCO这样的大数据集可以这样做) |
| 77 | + # 2、了解imagenet数据集,首先训练分类模型,获得网络的主干部分权值,分类模型的 主干部分 和该模型通用,基于此进行训练。 |
76 | 78 | #----------------------------------------------------------------------------------------------------------------------------#
|
77 | 79 | model_path = 'model_data/yolov4_tiny_weights_coco.h5'
|
78 | 80 | #------------------------------------------------------#
|
|
114 | 116 | # Init_Epoch = 0,UnFreeze_Epoch = 300,Freeze_Train = False(不冻结训练)
|
115 | 117 | # 其中:由于从主干网络的预训练权重开始训练,主干的权值不一定适合目标检测,需要更多的训练跳出局部最优解。
|
116 | 118 | # UnFreeze_Epoch可以在200-300之间调整,YOLOV5和YOLOX均推荐使用300。optimizer_type = 'sgd',Init_lr = 1e-2。
|
117 |
| - # (三)batch_size的设置: |
| 119 | + # (三)从0开始训练: |
| 120 | + # Init_Epoch = 0,UnFreeze_Epoch >= 300,Unfreeze_batch_size >= 16,Freeze_Train = False(不冻结训练) |
| 121 | + # 其中:UnFreeze_Epoch尽量不小于300。optimizer_type = 'sgd',Init_lr = 1e-2,mosaic = True。 |
| 122 | + # (四)batch_size的设置: |
118 | 123 | # 在显卡能够接受的范围内,以大为好。显存不足与数据集大小无关,提示显存不足(OOM或者CUDA out of memory)请调小batch_size。
|
119 | 124 | # 受到BatchNorm层影响,batch_size最小为2,不能为1。
|
120 | 125 | # 正常情况下Freeze_batch_size建议为Unfreeze_batch_size的1-2倍。不建议设置的差距过大,因为关系到学习率的自动调整。
|
|
190 | 195 |
|
191 | 196 | #------------------------------------------------------#
|
192 | 197 | # train_annotation_path 训练图片路径和标签
|
193 |
| - # val_annotation_path 训练图片路径和标签 |
| 198 | + # val_annotation_path 验证图片路径和标签 |
194 | 199 | #------------------------------------------------------#
|
195 | 200 | train_annotation_path = '2007_train.txt'
|
196 | 201 | val_annotation_path = '2007_val.txt'
|
|
0 commit comments