code: def get_shape_and_channels_from_json(example_info_json):
      """Returns the shape and channels list from the input json."""
      if not tf.io.gfile.exists(example_info_json):
          logging.warning(
              (
                  "Starting from v1.4.0, we expect %s to "
                  "include information for shape and channels."
              ),
              example_info_json,
          )
          return None, None
      with tf.io.gfile.GFile(example_info_json) as f:
          example_info = json.load(f)
      example_shape = example_info["shape"]
      example_channels_enum = example_info["channels"]
      logging.info(
          "From %s: Shape of input examples: %s, Channels of input examples: %s.",
          example_info_json,
          str(example_shape),
          str(example_channels_enum),
      )
      return example_shape, example_channels_enum
  
imports: import json
  from typing import Optional
  from absl import logging
  import numpy
  import tensorflow
  from deepvariant.protos import deepvariant_pb2
  from third_party.nucleus.io import sharded_file_utils
  from third_party.nucleus.io import tfrecord
  from third_party.nucleus.protos import variants_pb2
  from tensorflow.core.example import example_pb2
label_desc: Use image node_id 26 for calling a global function with example usage: get_shape_and_channels_from_json(example_info_json) and returns: example_shape,  example_channels_enum, None,  None