|
|
|
@@ -42,8 +42,10 @@ class FixedLossScaleManager(LossScaleManager): |
|
|
|
drop_overflow_update (bool): whether to execute optimizer if there is an overflow. Default: True. |
|
|
|
|
|
|
|
Examples: |
|
|
|
>>> net = Net() |
|
|
|
>>> loss_scale_manager = FixedLossScaleManager() |
|
|
|
>>> model = Model(net, loss_scale_manager=loss_scale_manager) |
|
|
|
>>> optim = Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9) |
|
|
|
>>> model = Model(net, loss_scale_manager=loss_scale_manager, optimizer=optim) |
|
|
|
""" |
|
|
|
def __init__(self, loss_scale=128.0, drop_overflow_update=True): |
|
|
|
if loss_scale < 1: |
|
|
|
@@ -85,8 +87,10 @@ class DynamicLossScaleManager(LossScaleManager): |
|
|
|
scale_window (int): Maximum continuous normal steps when there is no overflow. Default: 2000. |
|
|
|
|
|
|
|
Examples: |
|
|
|
>>> net = Net() |
|
|
|
>>> loss_scale_manager = DynamicLossScaleManager() |
|
|
|
>>> model = Model(net, loss_scale_manager=loss_scale_manager) |
|
|
|
>>> optim = Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9) |
|
|
|
>>> model = Model(net, loss_scale_manager=loss_scale_manager, optimizer=optim) |
|
|
|
""" |
|
|
|
def __init__(self, |
|
|
|
init_loss_scale=2 ** 24, |
|
|
|
|