SavedModel load для тегов {serve}; Статус: сбой: недопустимый аргумент: сеанс не был создан с графиком до MakeCallable()
Во время работы с tenorflow, обслуживающим python 3.7, вы получаете указанную выше ошибку. Модель тензорного потока обучается правильно, но когда я пытаюсь добавить информацию о модели в файл конфигурации сервера модели тензорного потока, я получаю указанную выше ошибку.
Код для сохранения модели следующий:
checkpoint_versioned = os.path.join(checkpoint_prefix, "1")
builder = tf.compat.v1.saved_model.builder.SavedModelBuilder(checkpoint_versioned)
tensor_info_input_1 = tf.compat.v1.saved_model.utils.build_tensor_info(self.sess.graph.get_operation_by_name("input_x").outputs[0])
tensor_info_input_2 = tf.compat.v1.saved_model.utils.build_tensor_info(self.sess.graph.get_operation_by_name("dropout_keep_prob").outputs[0])
tensor_info_output = tf.compat.v1.saved_model.utils.build_tensor_info(self.sess.graph.get_operation_by_name("output/proba").outputs[0])
prediction_signature = tf.compat.v1.saved_model.signature_def_utils.build_signature_def(inputs={
'input_x': tensor_info_input_1,
'dropout_keep_prob':tensor_info_input_2
},
outputs={
'proba': tensor_info_output
},
method_name=tf.compat.v1.saved_model.signature_constants.PREDICT_METHOD_NAME)
builder.add_meta_graph_and_variables(sess=self.sess, tags=[tf.compat.v1.saved_model.tag_constants.SERVING], signature_def_map={'predict': prediction_signature}, saver = self.saver)
path = builder.save()
Код для добавления обученной модели в файл конфигурации:
config_ini = self.read_config_file()
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()
model_server_config = text_format.Parse(text=config_ini, message=model_server_config)
model_server_config = self.delete_from_config(model_server_config, name)
config_list = model_server_config_pb2.ModelConfigList()
# Create a config to add to the list of served models
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.MergeFrom(config_list)
request.config.CopyFrom(model_server_config)
response = stub.HandleReloadConfigRequest(request, 10)
Я использую следующие версии пакета python: python = 3.7.5 tensorflow = '2.0.0-rc0' tensorflow_model_server = TensorFlow ModelServer: 2.1.0-rc1+dev.sha.d83512c Библиотека TensorFlow: 2.1.0
команда для запуска сервера модели тензорного потока: tensorflow_model_server --port=9000 --model_config_file="/home/swapnil/models.conf"