Forráskód Böngészése

Merge pull request #853 from will-jl944/param_tuning

Param tuning
FlyingQianMM 4 éve
szülő
commit
bc9c3d9c06

+ 1 - 1
dygraph/paddlex/cv/models/base.py

@@ -397,7 +397,7 @@ class BaseModel:
                             self.save_model(save_dir=best_model_dir)
                         if best_model_epoch > 0:
                             logging.info(
-                                'Current evaluated best model in eval_dataset is epoch_{}, {}={}'
+                                'Current evaluated best model on eval_dataset is epoch_{}, {}={}'
                                 .format(best_model_epoch, best_accuracy_key,
                                         best_accuracy))
                     eval_epoch_time = time.time() - eval_epoch_tic

+ 1 - 0
dygraph/tutorials/train/instance_segmentation/mask_rcnn_r50_fpn.py

@@ -46,6 +46,7 @@ model.train(
     train_dataset=train_dataset,
     train_batch_size=1,
     eval_dataset=eval_dataset,
+    pretrain_weights='COCO',
     learning_rate=0.00125,
     lr_decay_epochs=[8, 11],
     warmup_steps=10,

+ 5 - 4
dygraph/tutorials/train/object_detection/ppyolo.py

@@ -8,7 +8,7 @@ pdx.utils.download_and_decompress(dataset, path='./')
 # 定义训练和验证时的transforms
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/transforms/operators.py
 train_transforms = T.Compose([
-    T.MixupImage(mixup_epoch=250), T.RandomDistort(),
+    T.MixupImage(mixup_epoch=-1), T.RandomDistort(),
     T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), T.RandomCrop(),
     T.RandomHorizontalFlip(), T.BatchRandomResize(
         target_sizes=[320, 352, 384, 416, 448, 480, 512, 544, 576, 608],
@@ -46,14 +46,15 @@ model = pdx.det.PPYOLO(num_classes=num_classes, backbone='ResNet50_vd_dcn')
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/models/detector.py#L155
 # 各参数介绍与调整说明:https://paddlex.readthedocs.io/zh_CN/develop/appendix/parameters.html
 model.train(
-    num_epochs=405,
+    num_epochs=200,
     train_dataset=train_dataset,
     train_batch_size=8,
     eval_dataset=eval_dataset,
+    pretrain_weights='COCO',
     learning_rate=0.005 / 12,
-    warmup_steps=1000,
+    warmup_steps=500,
     warmup_start_lr=0.0,
     save_interval_epochs=5,
-    lr_decay_epochs=[243, 324],
+    lr_decay_epochs=[85, 135],
     save_dir='output/ppyolo_r50vd_dcn',
     use_vdl=True)

+ 6 - 4
dygraph/tutorials/train/object_detection/ppyolotiny.py

@@ -8,7 +8,7 @@ pdx.utils.download_and_decompress(dataset, path='./')
 # 定义训练和验证时的transforms
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/transforms/operators.py
 train_transforms = T.Compose([
-    T.MixupImage(mixup_epoch=250), T.RandomDistort(),
+    T.MixupImage(mixup_epoch=-1), T.RandomDistort(),
     T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), T.RandomCrop(),
     T.RandomHorizontalFlip(), T.BatchRandomResize(
         target_sizes=[192, 224, 256, 288, 320, 352, 384, 416, 448, 480, 512],
@@ -46,14 +46,16 @@ model = pdx.det.PPYOLOTiny(num_classes=num_classes)
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/models/detector.py#L155
 # 各参数介绍与调整说明:https://paddlex.readthedocs.io/zh_CN/develop/appendix/parameters.html
 model.train(
-    num_epochs=650,
+    num_epochs=550,
     train_dataset=train_dataset,
     train_batch_size=16,
     eval_dataset=eval_dataset,
-    learning_rate=0.005 / 16,
+    pretrain_weights='COCO',
+    learning_rate=0.005,
     warmup_steps=1000,
     warmup_start_lr=0.0,
-    lr_decay_epochs=[430, 540, 610],
+    lr_decay_epochs=[130, 540],
+    lr_decay_gamma=.5,
     save_interval_epochs=5,
     save_dir='output/ppyolotiny',
     use_vdl=True)

+ 4 - 3
dygraph/tutorials/train/object_detection/ppyolov2.py

@@ -8,7 +8,7 @@ pdx.utils.download_and_decompress(dataset, path='./')
 # 定义训练和验证时的transforms
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/transforms/operators.py
 train_transforms = T.Compose([
-    T.MixupImage(mixup_epoch=250), T.RandomDistort(),
+    T.MixupImage(mixup_epoch=-1), T.RandomDistort(),
     T.RandomExpand(im_padding_value=[123.675, 116.28, 103.53]), T.RandomCrop(),
     T.RandomHorizontalFlip(), T.BatchRandomResize(
         target_sizes=[
@@ -49,13 +49,14 @@ model = pdx.det.PPYOLOv2(num_classes=num_classes, backbone='ResNet50_vd_dcn')
 # API说明:https://github.com/PaddlePaddle/PaddleX/blob/release/2.0-rc/paddlex/cv/models/detector.py#L155
 # 各参数介绍与调整说明:https://paddlex.readthedocs.io/zh_CN/develop/appendix/parameters.html
 model.train(
-    num_epochs=365,
+    num_epochs=170,
     train_dataset=train_dataset,
     train_batch_size=8,
     eval_dataset=eval_dataset,
+    pretrain_weights='COCO',
     learning_rate=0.005 / 12,
     warmup_steps=1000,
     warmup_start_lr=0.0,
-    lr_decay_epochs=[243],
+    lr_decay_epochs=[105, 135, 150],
     save_interval_epochs=5,
     save_dir='output/ppyolov2_r50vd_dcn')