github.com/alwaysproblem/mlserving-tutorial@v0.0.0-20221124033215-121cfddbfbf4/TFserving/ClientAPI/python/post_request.py (about)

     1  """Send POST requst to the tfserver"""
     2  import requests
     3  import json
     4  import timeit
     5  
     6  model_name = "Toy"
     7  port = 8501
     8  host = "0.0.0.0"
     9  
    10  url = f"http://{host}:{port}/v1/models/{model_name}:predict"
    11  
    12  
    13  def requset_with_rows():
    14    req_data_r = {}
    15    instances = []
    16    instances.append([1., 2.])
    17    instances.append([1., 3.])
    18    req_data_r["instances"] = instances
    19    req_data_r = json.dumps(req_data_r)
    20    return req_data_r
    21  
    22  
    23  def requset_with_columns():
    24    req_data_c = {}
    25    inputs = [[
    26        1.,
    27        1,
    28    ], [2., 3.]]
    29    req_data_c["inputs"] = inputs
    30    req_data_c = json.dumps(req_data_c)
    31    return req_data_c
    32  
    33  
    34  if __name__ == "__main__":
    35    # batch is
    36    # request by instances
    37    print("this request is based on isntances")
    38    s = timeit.default_timer()
    39    req_data = requset_with_rows()
    40    get = requests.post(url, data=req_data)
    41    inter = timeit.default_timer() - s
    42    print(get.ok)
    43    print(get.content.decode("utf-8"))
    44    print(f"time consumption: {inter * 1000}ms")
    45  
    46    # request by inputs
    47    print("this request is based on inputs")
    48    s = timeit.default_timer()
    49    req_data = requset_with_columns()
    50    get = requests.post(url, data=req_data)
    51    inter = timeit.default_timer() - s
    52    print(get.ok)
    53    print(get.content.decode("utf-8"))
    54    print(f"time consumption: {inter * 1000}ms")