|
|
|
|
|
|
|
|
for v in model.modules(): |
|
|
for v in model.modules(): |
|
|
if hasattr(v, 'bias') and isinstance(v.bias, nn.Parameter): # bias |
|
|
if hasattr(v, 'bias') and isinstance(v.bias, nn.Parameter): # bias |
|
|
g2.append(v.bias) |
|
|
g2.append(v.bias) |
|
|
if isinstance(v, nn.BatchNorm2d): # weight with decay |
|
|
|
|
|
|
|
|
if isinstance(v, nn.BatchNorm2d): # weight (no decay) |
|
|
g0.append(v.weight) |
|
|
g0.append(v.weight) |
|
|
elif hasattr(v, 'weight') and isinstance(v.weight, nn.Parameter): # weight without decay |
|
|
|
|
|
|
|
|
elif hasattr(v, 'weight') and isinstance(v.weight, nn.Parameter): # weight (with decay) |
|
|
g1.append(v.weight) |
|
|
g1.append(v.weight) |
|
|
|
|
|
|
|
|
if opt.adam: |
|
|
if opt.adam: |