Source code for composer.algorithms.scale_schedule.scale_schedule
# Copyright 2021 MosaicML. All Rights Reserved.
import logging
import warnings
from typing import Optional
from composer.core import Algorithm, Event, State
from composer.loggers import Logger
log = logging.getLogger(__name__)
[docs]class ScaleSchedule(Algorithm):
"""Deprecated - do not use.
This algorithm is deprecated, and is being replaced by the scale_schedule_ratio param
supported directly by the Composer Trainer. For backwards compatibility, the Composer
Trainer detects when this algorithm has been initialized, and pulls the `ratio` param
accordingly.
Args:
ratio (float, optional): The factor by which to scale the duration of the schedule. E.g., 0.5
makes the schedule take half as long and 2.0 makes it
take twice as long. Default: ``1.0``.
"""
def __init__(self, ratio: float = 1.0):
self.ratio = ratio
warnings.warn(
"ScaleScheduleDeprecationWarning: The scale schedule algorithm is deprecated. "
"Please instead use the scale_schedule_ratio parameter of the Composer Trainer.",
category=DeprecationWarning)
[docs] def match(self, event: Event, state: State) -> bool:
"""Run on Event.INIT.
Args:
event (:class:`Event`): The current event.
state (:class:`State`): The current state.
Returns:
bool: True if this algorithm should run.
"""
return event == Event.INIT