class_docstr: Stores the context information of the executor, i.e.,
  if using spark, name of the application, current spark executors,
  if using horovod: current rank etc.
class_docstr_tok: ["Stores","the","context","information","of","the","executor",",","i.e.",",","if","using","spark",",","name","of","the","application",",","current","spark","executors",",","if","using","horovod",":","current","rank","etc","."]
docstr: A random GPU selection strategy
  Returns:
      (str): GPU device ID
docstr_tok: ["A","random","GPU","selection","strategy","Returns",":","(","str",")",":","GPU","device","ID"]
code: def _select_random_gpu(self) -> str:
      """
      A random GPU selection strategy
      Returns:
          (str): GPU device ID
      """
      return random.choice(self.gpus)
  
file_path: evadb/evadb/executor/execution_context.py
imports: import os
  import random
  from typing import List
  from evadb.constants import NO_GPU
  from evadb.utils.generic_utils import get_gpu_count, is_gpu_available
label_desc: Use image node_id 6 for calling the Context obj's underlying member method code with example usage: obj._select_random_gpu() and returns: random