docstr: Lists the available channels in `/opt/ml/input/data`.
  
  Return:
  Dict of channel-names mapping to the corresponding path.
  
  When running in SageMaker, channels and are listed in
  `/opt/ml/config/inputdataconfig.json`. Thus, if this file is present,
  we take its content to determine which channels are available. To
  support a local development setup, we just list the contents of the
  data folder to get the available channels.
docstr_tok: ["Lists","the","available","channels","in","`","\/opt\/ml\/input\/data","`",".","Return",":","Dict","of","channel-names","mapping","to","the","corresponding","path",".","When","running","in","SageMaker",",","channels","and","are","listed","in","`","\/opt\/ml\/config\/inputdataconfig.json","`",".","Thus",",","if","this","file","is","present",",","we","take","its","content","to","determine","which","channels","are","available",".","To","support","a","local","development","setup",",","we","just","list","the","contents","of","the","data","folder","to","get","the","available","channels","."]
code: def _load_channels(self) -> Dict[str, Path]:
      """
      Lists the available channels in `/opt/ml/input/data`.
  
      Return:
      Dict of channel-names mapping to the corresponding path.
  
      When running in SageMaker, channels and are listed in
      `/opt/ml/config/inputdataconfig.json`. Thus, if this file is present,
      we take its content to determine which channels are available. To
      support a local development setup, we just list the contents of the
      data folder to get the available channels.
      """
      if self.inputdataconfig is not None:
          return {
              name: self.path.data / name
              for name in self.inputdataconfig.channel_names()
          }
      else:
          return {
              channel.name: channel
              for channel in self.path.data.iterdir()
          }
  
imports: import json
  import shutil
  from pathlib import Path
  from typing import Dict, Optional, Tuple
  from gluonts.pydantic import BaseModel
  from .dyn import install_and_restart
  from .params import decode_sagemaker_parameters
  from .nested_params import decode_nested_parameters
label_desc: Use image node_id 5 for calling the TrainEnv obj's underlying member method code with example usage: obj._load_channels() and returns: unknown, unknown