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)