solver_group.md 3.0 KB
Newer Older
W
wuzewu 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# cfg.SOLVER

SOLVER Group定义所有和训练优化相关的配置

## `LR`

初始学习率

### 默认值

0.1

<br/>
<br/>

W
wuzewu 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
## `LR_WARMUP`

学习率是否经过warmup过程,如果设置为True,则学习率会从0开始,经过`LR_WARMUP_STEPS`步后线性增长到指定的初始学习率

### 默认值

False

<br/>
<br/>

## `LR_WARMUP_STEPS`

学习率warmup步数

### 默认值

2000

<br/>
<br/>

W
wuzewu 已提交
38 39 40 41 42 43 44 45 46
## `LR_POLICY`

学习率的衰减策略,支持`poly` `piecewise` `cosine`三种策略

### 默认值

`poly`

### 示例
W
wuzewu 已提交
47
* 当使用`poly`衰减时,假设初始学习率为0.1,训练总步数为10000,则在power分别为`0.4` `0.8` `1` `1.2` `1.6`时,衰减曲线如下图:
W
wuzewu 已提交
48 49 50 51 52 53 54
  * power = 1 衰减曲线为直线
  * power > 1 衰减曲线内凹
  * power < 1 衰减曲线外凸

  <p align="center">
  <img src="../imgs/poly_decay_example.png" hspace='10' height="400" width="800"/> <br />
  </p>
W
wuzewu 已提交
55 56 57 58 59 60 61

* 当使用`poly`衰减时,假设初始学习率为0.1,训练总步数为10000,power为`1`,开启了LR_WARMUP,且LR_WARMUP_STEP为2000时,衰减曲线如下图:

  <p align="center">
  <img src="../imgs/warmup_with_poly_decay_example.png" hspace='10' height="400" width="800"/> <br />
  </p>

W
wuzewu 已提交
62
* 当使用`piecewise`衰减时,假设初始学习率为0.1,GAMMA为0.9,总EPOCH数量为100,DECAY_EPOCH为[10, 20],衰减曲线如下图:
W
wuzewu 已提交
63

W
wuzewu 已提交
64 65 66 67 68
  <p align="center">
  <img src="../imgs/piecewise_decay_example.png" hspace='10' height="400" width="800"/> <br />
  </p>

* 当使用`cosine`衰减时,假设初始学习率为0.1,总EPOCH数量为100,衰减曲线如下图:
W
wuzewu 已提交
69

W
wuzewu 已提交
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
  <p align="center">
  <img src="../imgs/cosine_decay_example.png" hspace='10' height="400" width="800"/> <br />
  </p>

<br/>
<br/>

## `POWER`

学习率Poly下降指数,仅当策略为[`LR_POLICY`](#LR_POLICY)`poly`时有效

### 默认值

0.9

<br/>
<br/>

## `GAMMA`

学习率piecewise下降指数,仅当策略为[`LR_POLICY`](#LR_POLICY)`piecewise`时有效

### 默认值

0.1

<br/>
<br/>

## `DECAY_EPOCH`

学习率piecewise下降间隔,仅当策略为[`LR_POLICY`](#LR_POLICY)`piecewise`时有效

### 默认值

[10, 20]

<br/>
<br/>

## `WEIGHT_DECAY`

L2正则化系数

### 默认值

0.00004

<br/>
<br/>

## `BEGIN_EPOCH`

起始EPOCH值

### 默认值

0

<br/>
<br/>

## `NUM_EPOCHS`

训练EPOCH数

### 默认值

30(需要根据实际需求进行调整)

<br/>
<br/>

## `SNAPSHOT`

训练时,保存模型的间隔(单位为EPOCH)

### 默认值

10(意味着每训练10个EPOCH保存一次模型)

<br/>
W
wuyefeilin 已提交
152 153 154 155
<br/>

## `loss`

W
wuzewu 已提交
156
训练时选择的损失函数, 支持`softmax_loss(sotfmax with cross entroy loss)`,
W
wuyefeilin 已提交
157 158 159 160 161 162 163 164 165 166 167 168
`dice_loss(dice coefficient loss)`, `bce_loss(binary cross entroy loss)`三种损失函数。
其中`dice_loss``bce_loss`仅在两类分割问题中适用,`softmax_loss`不能与`dice_loss`
`bce_loss`组合,`dice_loss`可以和`bce_loss`组合使用。使用示例如下:

`['softmax_loss']``['dice_loss','bce_loss']`

### 默认值

['softmax_loss']

<br/>
<br/>