class_docstr: A lazy cosine parameter space that goes from ``start`` to ``end`` in ``steps`` steps.
  
  Args:
      start (int): the start point.
      end (int): the end point.
      steps (int): the number of steps between start and end.
  
  Example:
      >>> list(cosinespace(0, 1, 3))
      [0.0, 0.5, 1.0]
class_docstr_tok: ["A","lazy","cosine","parameter","space","that","goes","from","``","start","``","to","``","end","``","in","``","steps","``","steps",".","Args",":","start","(","int",")",":","the","start","point",".","end","(","int",")",":","the","end","point",".","steps","(","int",")",":","the","number","of","steps","between","start","and","end",".","Example",":",">",">",">","list","(","cosinespace","(","0",",","1",",","3",")",")","[","0.0",",","0.5",",","1.0","]"]
code: def __iter__(self):
      return (
          self.end
          + (self.start - self.end)
          * (1 + cos(self._progress(i) * pi))
          / 2
          for i in range(self.steps)
      )
  
imports: import contextlib
  from collections import OrderedDict
  from itertools import chain, islice
  from math import cos, pi
  from typing import Dict, List, Optional, Tuple
  from poutyne.framework.callbacks.callbacks import Callback
label_desc: Use image node_id 3 for calling the cosinespace obj's underlying member method code with example usage: obj.__iter__() and returns: unknown