我尝试使用以下代码在tensorflow_model_server
中添加新模型:
from tensorflow_serving.apis import model_service_pb2_grpc
from tensorflow_serving.apis import model_management_pb2
from tensorflow_serving.config import model_server_config_pb2
import grpc
def add_model_config(host, name, base_path, model_platform):
channel = grpc.insecure_channel(host)
stub = model_service_pb2_grpc.ModelServiceStub(channel)
request = model_management_pb2.ReloadConfigRequest()
model_server_config = model_server_config_pb2.ModelServerConfig()
#Create a config to add to the list of served models
config_list = model_server_config_pb2.ModelConfigList()
one_config = config_list.config.add()
one_config.name= name
one_config.base_path=base_path
one_config.model_platform=model_platform
model_server_config.model_config_list.CopyFrom(config_list)
request.config.CopyFrom(model_server_config)
print(request.IsInitialized())
print(request.ListFields())
response = stub.HandleReloadConfigRequest(request,10)
if response.status.error_code == 0:
print("Reload sucessfully")
return True
else:
print("Reload failed!")
print(response.status.error_code)
print(response.status.error_message)
return False
但是每当我尝试执行它时,服务器就会卸载所有以前的模型。是否可以继续为所有型号提供服务,然后添加新型号?你知道吗
没有简单的方法来添加一个新模型,同时保持以前的模型已经加载。你知道吗
我一直在做的是始终将最后一个模型配置列表保存在磁盘上,当我出于任何原因(添加、删除或更新)需要刷新模型时,我从磁盘读取该配置文件,并进行适当的修改,使用完整的配置列表调用handleLoadConfigRequest(),然后再次将其保存到磁盘。你知道吗
磁盘上的文件(比如
/models/models.config
)成为加载模型的权威记录tf.发球在任何给定的时间。这样你就可以从痛苦中恢复过来tf.发球重新启动,并有舒适的知道,它将加载正确的模型。在服务器启动期间指定配置文件的选项是model_config_file /models/models.config
。你知道吗相关问题 更多 >
编程相关推荐