class_docstr: The coordinate descent tuner. Tune one field/coordinate at a time.
  
  TODO will it be necessary to tune multiple fields simultaneously.
  
  
  TODO: what if both increasing and decreasing a field can improve perf.
        i.e., there are multiple local optima..
class_docstr_tok: ["The","coordinate","descent","tuner",".","Tune","one","field\/coordinate","at","a","time",".","TODO","will","it","be","necessary","to","tune","multiple","fields","simultaneously",".","TODO",":","what","if","both","increasing","and","decreasing","a","field","can","improve","perf",".","i.e.",",","there","are","multiple","local","optima",".."]
docstr: Get neighbour values in 'radius' steps. The original value is not
  returned as it's own neighbour.
docstr_tok: ["Get","neighbour","values","in","'radius","'","steps",".","The","original","value","is","not","returned","as","it","'s","own","neighbour","."]
code: def get_neighbour_values(
      self, name, orig_val, radius=1, include_self=False
  ):
      """
      Get neighbour values in 'radius' steps. The original value is not
      returned as it's own neighbour.
      """
      assert radius >= 1
  
      def update(cur_val, inc=True):
          if name == "num_stages":
              if inc:
                  return cur_val + 1
              else:
                  return cur_val - 1
          else:
              if inc:
                  return cur_val * 2
              else:
                  return cur_val // 2
  
      out = []
      # increment loop
      cur_val = orig_val
      for _ in range(radius):
          cur_val = update(cur_val, True)
          if self.value_too_large(name, cur_val):
              break
          out.append(cur_val)
  
      # decrement loop
      cur_val = orig_val
      for _ in range(radius):
          cur_val = update(cur_val, False)
          if cur_val <= 0:
              break
          out.append(cur_val)
  
      if include_self:
          out.append(orig_val)
      return out
  
imports: import copy
  import itertools
  import logging
  from typing import Callable, Optional
  from torch.utils._triton import has_triton
  from .utils import red_text, triton_config_to_hashable
  from .None import config
label_desc: Use image node_id 12 for calling the CoordescTuner obj's underlying member method code with example usage: obj.get_neighbour_values(name, orig_val, radius, include_) and returns: out, unknown, unknown, unknown, unknown