title: gRPC python sending image + meta data
body: <p>I need to pass an image (<code>numpy</code> array), additional meta-information about the image like height, width, etc. from the python <code>grpc</code> client to python <code>grpc</code> server.</p>
  <p>I need to run this method.</p>
  <pre class="lang-py prettyprint-override"><code>import numpy as np 
  
  def predict(img, w, h):
      # some operations
      return img.shape[2], np.mean(img)
  </code></pre>
  <p>I looked into the documentation, but there is no compatible datatype for <code>numpy</code> array in protobuf.</p>
  <p><a href="https://developers.google.com/protocol-buffers/docs/proto3" rel="nofollow noreferrer">https://developers.google.com/protocol-buffers/docs/proto3</a></p>
  <p><code>image_procedure.proto</code></p>
  <pre class="lang-proto prettyprint-override"><code>syntax = &quot;proto3&quot;;
  
  // input image, width, height
  message Image {
      image_type image = 1;
      int32 width = 2;
      int32 height = 3;
  }
  
  // output prediction
  
  message Prediction {
      int32 channel = 4;
      float mean = 5;
  }
  
  // service
  service ImageProcedure {
      rpc ImageMeanWH(Image) returns (Prediction) {}
  }
  </code></pre>
  <p>How can I send the image and other related data to the server and get the response?</p>