Загрузка SavedModel для тегов {serve}; Состояние: сбой: неверный аргумент: сессия не была создана с графиком до MakeCallable () - PullRequest
0 голосов
/ 17 января 2020

При работе с тензорным потоком, обслуживающим 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 tenorflow = '2.0.0-rc0' tenensflow_model_server = TensorFlow ModelServer: 2.1.0-rc1 + dev.sha.d83512c Библиотека TensorFlow: 2.1.0

команда для запуска сервера модели tenorflow: tenorflow_model_server --port = 9000 --model_config_file = "/ home / swapnil / models.conf"

...