class_docstr: Implements a linear decay used internally in PowerSign and AddSign optimizers.
  
  It has been proposed in `Neural Optimizer Search with Reinforcement Learning`_.
  
  Arguments:
      T_max (int): the total number of training steps
          to be used to compute internal decays.
  
  .. _Neural Optimizer Search with Reinforcement Learning:
      https://arxiv.org/abs/1709.07417
docstr: Returns a linear decay at the current training step:
      1 - step / T_max
  
  Args:
    step: the current training step.
docstr_tok: ["Returns","a","linear","decay","at","the","current","training","step",":","1","-","step","\/","T_max","Args",":","step",":","the","current","training","step","."]
code: def __call__(self, step):
      """Returns a linear decay at the current training step:
          1 - step / T_max
  
      Args:
        step: the current training step.
      """
      if step is None:
          raise ValueError("step is required for linear_decay.")
      if step < 0:
          raise ValueError("step should be >= 0.")
      step = min(step, self.T_max)
      decay = 1 - float(step) / float(self.T_max)
      return decay
  
file_path: pywick/pywick/optimizers/sign_internal_decay.py
imports: import math
label_desc: Use image node_id 1 for calling the LinearInternalDecay obj's underlying member method code with example usage: obj.__call__(step) and returns: decay