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

     1  """Send grpc request for reload model"""
     2  import numpy as np
     3  
     4  from tensorflow_serving.apis import model_service_pb2_grpc
     5  from tensorflow_serving.apis import model_management_pb2
     6  from tensorflow_serving.config import model_server_config_pb2
     7  import grpc
     8  
     9  host = "0.0.0.0"
    10  port = 8500
    11  server = host + ":" + str(port)
    12  timeout_req = 30.0
    13  
    14  req_data = np.array([[1., 2.], [1., 3.]])
    15  
    16  if __name__ == "__main__":
    17    import argparse
    18  
    19    parse = argparse.ArgumentParser(prog="the tensorflow client for python.")
    20    parse.add_argument(
    21        "-m", "--model", type=str, action="store", dest="model", default="Toy"
    22    )
    23  
    24    args = parse.parse_args()
    25  
    26    channel = grpc.insecure_channel(server)
    27  
    28    # this HandleReloadConfigRequest is for the reload API of the model specified
    29    modelstub = model_service_pb2_grpc.ModelServiceStub(channel)
    30    model_man_request = model_management_pb2.ReloadConfigRequest()
    31    model_server_config = model_server_config_pb2.ModelServerConfig()
    32  
    33    # Create a config to add to the list of served models
    34    config_list = model_server_config_pb2.ModelConfigList()
    35    one_config = config_list.config.add()
    36  
    37    ## you can modify with your own model configuration.
    38    # TODO: get the config and check if model name is right.
    39    one_config.name = args.model
    40    one_config.base_path = f"/models/save/{args.model}/"
    41    one_config.model_platform = "tensorflow"
    42  
    43    model_server_config.model_config_list.CopyFrom(config_list)
    44    model_man_request.config.CopyFrom(model_server_config)
    45  
    46    # print(model_man_request.IsInitialized())
    47    # print(model_man_request.ListFields())
    48    model_reload = modelstub.HandleReloadConfigRequest(
    49        model_man_request, timeout_req
    50    )
    51  
    52    if model_reload.status.error_code == 0:
    53      print(f"model {one_config.name} reloaded successfully")
    54    else:
    55      print(f"model {one_config.name} reloaded failed!")
    56      print(model_reload.status.error_code)
    57      print(model_reload.status.error_message)
    58  
    59    # add new models to serve
    60    # prediction_service_pb2_grpc.add_PredictionServiceServicer_to_server(
    61    #     PredictionServiceServicer(models=models), server)
    62    # model_service_pb2_grpc.add_ModelServiceServicer_to_server(
    63    #     ModelServiceServicer(models=models), server)