Вызов обслуживания TensorFlow с помощью gRPC - PullRequest
0 голосов
/ 04 марта 2020

Я точно не знаю подходящий вопрос, чтобы задать его здесь, так что простите, если этот вопрос немного растрепался - я его уберу, если вы все сможете помочь сузить его.

У меня есть модель, которую мы обучаем TFX и экспортируем для обслуживания с Tensorflow Serving. Я скомпилировал прото-файлы и могу сделать запрос gRP C. Со следующим кодом:

   request := &pb.PredictRequest{
        ModelSpec: &pb.ModelSpec{
            Name: "my-model",
        },
        Inputs: map[string]*tf_core_framework.TensorProto{
            "image": &tf_core_framework.TensorProto{
                Dtype: tf_core_framework.DataType_DT_STRING,
                TensorShape: &tf_core_framework.TensorShapeProto{
                    Dim: []*tf_core_framework.TensorShapeProto_Dim{
                        &tf_core_framework.TensorShapeProto_Dim{
                            Size: int64(1),
                        },
                    },
                },
                StringVal: [][]byte{imageBytes},
            },
        },
    }

    conn, err := grpc.Dial(*servingAddress, grpc.WithInsecure())
    if err != nil {
        log.Fatalf("Cannot connect to the grpc server: %v\n", err)
    }
    defer conn.Close()

    client := pb.NewPredictionServiceClient(conn)

    resp, err := client.Predict(context.Background(), request)

Это прекрасно работает, когда есть один вход, такой как изображение, которое мы имеем здесь, с известной формой. Тем не менее, моя модель будет иметь около 90 функций, которые мне нужно передать. В python я могу прочитать файл schema.pbtext, который выводится с сохраненной моделью, а затем использовать schema_utils.schema_from_feature_spec и schema_utils.schema_as_feature_spec, чтобы загрузить эту схему и заполнить ее динамически - но я не уверен, как Я могу сделать это в Go. У кого-нибудь есть примеры более сложных вызовов TF Serving из Golang, по которым я могу следить?

Я думаю, что-то похожее на Создание экземпляров или входных данных для TensorFlow Serving REST API , но с ВРП C и Go.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...