调整优化器学习率,增加训练轮数,修改类别权重,更新学习率调度器参数,启用调度器详细输出
This commit is contained in:
parent
257818f86d
commit
20537fe10f
@ -3,9 +3,9 @@ scheduler_type: LINEAR_WARMUP_THEN_POLY_SCHEDULER
|
|||||||
# total_iters=epochs * 训练的图像数量
|
# total_iters=epochs * 训练的图像数量
|
||||||
kwargs: |
|
kwargs: |
|
||||||
{
|
{
|
||||||
"warmup_iters": 2904,
|
"warmup_iters": 5808,
|
||||||
"total_iters": 290400,
|
"total_iters": 580800,
|
||||||
"warmup_ratio": 0.000001,
|
"warmup_ratio": 0.000001,
|
||||||
"min_lr": 0.,
|
"min_lr": 0.00000,
|
||||||
"power": 1.
|
"power": 1.
|
||||||
}
|
}
|
@ -3,7 +3,7 @@ base_config:
|
|||||||
optim_type: AdamW
|
optim_type: AdamW
|
||||||
kwargs: |
|
kwargs: |
|
||||||
{
|
{
|
||||||
"lr": 0.00006,
|
"lr": 0.006,
|
||||||
"weight_decay": 0.01,
|
"weight_decay": 0.01,
|
||||||
"betas": (0.9, 0.999)
|
"betas": (0.9, 0.999)
|
||||||
}
|
}
|
||||||
|
@ -3,14 +3,14 @@ batch_size: 16
|
|||||||
image_height: 200
|
image_height: 200
|
||||||
image_width: 200
|
image_width: 200
|
||||||
workers: 0
|
workers: 0
|
||||||
epochs: 100
|
epochs: 200
|
||||||
|
|
||||||
# 每一类的占比权重,如果要让每一类的占比权重相同,为1.0即可
|
# 每一类的占比权重,如果要让每一类的占比权重相同,为1.0即可
|
||||||
weight:
|
weight:
|
||||||
- 1.0
|
- 1.0
|
||||||
- 4.0
|
- 3.0
|
||||||
- 1.0
|
- 1.0
|
||||||
- 2.2
|
- 2.0
|
||||||
|
|
||||||
# 数据集存放位置
|
# 数据集存放位置
|
||||||
root:
|
root:
|
||||||
|
@ -257,27 +257,27 @@ def get_lr_scheduler(optimizer: optim, scheduler_type: SchedulerType, kwargs=Non
|
|||||||
optimizer=optimizer,
|
optimizer=optimizer,
|
||||||
step_size=30,
|
step_size=30,
|
||||||
gamma=0.1,
|
gamma=0.1,
|
||||||
verbose=False
|
verbose=True
|
||||||
)
|
)
|
||||||
elif scheduler_type == SchedulerType.MULTI_STEP_SCHEDULER:
|
elif scheduler_type == SchedulerType.MULTI_STEP_SCHEDULER:
|
||||||
return MultiStepScheduler(
|
return MultiStepScheduler(
|
||||||
optimizer=optimizer,
|
optimizer=optimizer,
|
||||||
milestones=[30, 60, 90],
|
milestones=[30, 60, 90],
|
||||||
gamma=0.1,
|
gamma=0.1,
|
||||||
verbose=False
|
verbose=True
|
||||||
)
|
)
|
||||||
elif scheduler_type == SchedulerType.EXPONENTIAL_SCHEDULER:
|
elif scheduler_type == SchedulerType.EXPONENTIAL_SCHEDULER:
|
||||||
return ExponentialScheduler(
|
return ExponentialScheduler(
|
||||||
optimizer=optimizer,
|
optimizer=optimizer,
|
||||||
gamma=0.95,
|
gamma=0.95,
|
||||||
verbose=False
|
verbose=True
|
||||||
)
|
)
|
||||||
elif scheduler_type == SchedulerType.COSINE_ANNEALING_SCHEDULER:
|
elif scheduler_type == SchedulerType.COSINE_ANNEALING_SCHEDULER:
|
||||||
return CosineAnnealingScheduler(
|
return CosineAnnealingScheduler(
|
||||||
optimizer=optimizer,
|
optimizer=optimizer,
|
||||||
t_max=5,
|
t_max=5,
|
||||||
min_lr=0,
|
min_lr=0,
|
||||||
verbose=False
|
verbose=True
|
||||||
)
|
)
|
||||||
elif scheduler_type == SchedulerType.LINEAR_WARMUP_THEN_POLY_SCHEDULER:
|
elif scheduler_type == SchedulerType.LINEAR_WARMUP_THEN_POLY_SCHEDULER:
|
||||||
return LinearWarmupThenPolyScheduler(
|
return LinearWarmupThenPolyScheduler(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user