You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mindspore.DynamicLossScaleManager.txt 1.7 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Class mindspore.DynamicLossScaleManager(init_loss_scale=16777216, scale_factor=2, scale_window=2000)
  2. 动态调整梯度放大系数的管理器,继承自:class:`mindspore.LossScaleManager`。
  3. 参数:
  4. init_loss_scale (float):初始梯度放大系数。默认值:2**24。
  5. scale_factor (int):放大/缩小倍数。默认值:2。
  6. scale_window (int):无溢出时的连续正常step的最大数量。默认值:2000。
  7. 样例:
  8. >>> from mindspore import Model, nn, DynamicLossScaleManager
  9. >>>
  10. >>> net = Net()
  11. >>> loss_scale_manager = DynamicLossScaleManager()
  12. >>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9)
  13. >>> model = Model(net, loss_scale_manager=loss_scale_manager, optimizer=optim)
  14. get_drop_overflow_update()
  15. 该值表示是否在发生溢出时放弃本轮参数更新。
  16. 返回:
  17. bool,始终为True。
  18. get_loss_scale()
  19. 返回当前梯度放大系数。
  20. 返回:
  21. float,梯度放大系数。
  22. get_update_cell()
  23. 返回用于在:class:`mindspore.TrainOneStepWithLossScaleCell`中更新梯度放大系数的`Cell`实例。
  24. 返回:
  25. :class:`mindspore.DynamicLossScaleUpdateCell`实例,用于更新梯度放大系数。
  26. update_loss_scale(overflow)
  27. 根据溢出状态更新梯度放大系数。如果发生溢出,减小梯度放大系数,否则增大梯度放大系数。
  28. 参数:
  29. overflow (bool):表示是否溢出。