code: def gather_available_device_info():
      """Gather list of devices available to TensorFlow.
  
      Returns:
        A list of test_log_pb2.AvailableDeviceInfo messages.
      """
      device_info_list = []
      devices = device_lib.list_local_devices()
  
      for d in devices:
          device_info = test_log_pb2.AvailableDeviceInfo()
          device_info.name = d.name
          device_info.type = d.device_type
          device_info.memory_limit = d.memory_limit
          device_info.physical_description = d.physical_device_desc
          device_info_list.append(device_info)
  
      return device_info_list
  
file_path: tensorflow-upstream/tensorflow/tools/test/system_info_lib.py
imports: import glob
  import multiprocessing
  import platform
  import re
  import socket
  import cpuinfo
  import psutil
  from tensorflow.core.util import test_log_pb2
  from tensorflow.python.client import device_lib
  from tensorflow.python.framework import errors
  from tensorflow.python.platform import gfile
  from tensorflow.tools.test import gpu_info_lib
label_desc: Use image node_id 5 for calling a global function with example usage: gather_available_device_info() and returns: device_info_list