docstr: Args:
      inputs: list, Each value corresponds to an input name of self._input_names
  Returns:
      results: dict, {name : numpy.array}
code: def Run(self, inputs):
      """
      Args:
          inputs: list, Each value corresponds to an input name of self._input_names
      Returns:
          results: dict, {name : numpy.array}
      """
      infer_inputs = []
      for idx, data in enumerate(inputs):
          infer_input = InferInput(
              self._input_names[idx], data.shape, "UINT8"
          )
          infer_input.set_data_from_numpy(data)
          infer_inputs.append(infer_input)
  
      results = self._client.infer(
          model_name=self._model_name,
          model_version=self._model_version,
          inputs=infer_inputs,
          outputs=self._outputs_req,
          client_timeout=self._response_wait_t,
      )
      results = {
          name: results.as_numpy(name) for name in self._output_names
      }
      return results
  
file_path: PaddleSeg/deploy/fastdeploy/semantic_segmentation/serving/fastdeploy_serving/paddleseg_grpc_client.py
imports: import logging
  import numpy
  import time
  from typing import Optional
  import cv2
  import json
  from tritonclient import utils
  from tritonclient.grpc import InferenceServerClient, InferInput, InferRequestedOutput, service_pb2_grpc, service_pb2
label_desc: Use image node_id 2 for calling the SyncGRPCTritonRunner obj's underlying member method code with example usage: obj.Run(inputs) and returns: results