Todos os produtos
Search
Central de documentação

Platform For AI:Deploy services with TensorFlow Serving images

Última atualização: Sep 09, 2026

O TensorFlow Serving é um mecanismo de inferência para modelos de deep learning. Ele permite implantar modelos no formato TensorFlow SavedModel como services online e oferece suporte a recursos como troca dinâmica e gerenciamento de versões. Com o recurso de implantação baseada em imagem do Elastic Algorithm Service (EAS), você inicia rapidamente services de inferência do TensorFlow Serving.

Pré-requisitos

Arquivos de modelo

Para implantar um service usando uma imagem do TensorFlow Serving, armazene os arquivos de modelo no OSS e garanta que a estrutura de diretórios atenda aos seguintes requisitos:

  • Diretórios de versão do modelo: Cada modelo deve ter pelo menos um diretório de versão. Os diretórios de versão devem ser nomeados com números inteiros, que funcionam como números de versão. Um número maior indica uma versão mais recente.

  • Arquivos de modelo: Cada diretório de versão do modelo deve conter os arquivos de modelo exportados no formato SavedModel. O service carrega automaticamente o modelo do diretório com o maior número de versão.

Procedimento:

  1. Crie um diretório em um bucket do OSS para armazenar seus modelos, por exemplo, oss://examplebucket/models/tf_serving/. Para obter mais informações, consulte Manage directories.

  2. Faça upload dos arquivos de modelo para o diretório criado na etapa anterior. Você pode baixar e usar os arquivos de modelo do TensorFlow Serving de exemplo deste artigo. A estrutura de diretórios deve seguir o formato abaixo:

    tf_serving 
    ├── modelA
    │   └── 1
    │       ├── saved_model.pb
    │       └── variables
    │           ├── variables.data-00000-of-00001
    │           └── variables.index
    │
    ├── modelB
    │   ├── 1
    │   │   └── ...
    │   └── 2
    │       └── ...
    │
    └── modelC
        ├── 1
        │   └── ...
        ├── 2
        │   └── ...
        └── 3
            └── ...

Arquivo de configuração do modelo

Use um arquivo de configuração para executar vários modelos em um único service. Caso precise implantar apenas um service de modelo único, ignore esta seção.

Crie um arquivo de configuração conforme descrito abaixo e faça upload dele para o OSS. Os arquivos de exemplo na seção Arquivos de modelo incluem um arquivo de configuração de modelo chamado model_config.pbtxt, que pode ser usado diretamente ou modificado conforme necessário. Neste exemplo, o arquivo de configuração do modelo é carregado no diretório oss://examplebucket/models/tf_serving/.

O código a seguir mostra um exemplo do arquivo model_config.pbtxt:

model_config_list {
  config {
    name: 'modelA'
    base_path: '/models/modelA/'
    model_platform: 'tensorflow'
    model_version_policy{
        all: {}
    }
  }
  config {
    name: 'modelB'
    base_path: '/models/modelB/'
    model_platform: 'tensorflow'
    model_version_policy{
        specific {
            versions: 1
            versions: 2
        }
    }
    version_labels {
      	key: 'stable'
      	value: 1
    }
    version_labels {
      	key: 'canary'
      	value: 2
    }
  }
  config {
    name: 'modelC'
    base_path: '/models/modelC/'
    model_platform: 'tensorflow'
    model_version_policy{
        latest {
            num_versions: 2
        }
    }
  }
}

A tabela a seguir descreve os principais parâmetros.

Parâmetro

Obrigatório

Descrição

name

Não

Nome do modelo. Recomendamos definir este parâmetro. Sem um nome especificado, não é possível chamar o service de inferência.

base_path

Sim

Caminho para o diretório de armazenamento do modelo na instância, utilizado para ler os arquivos de modelo durante a implantação do service. Por exemplo, se o diretório de montagem for /models e o diretório do modelo a ser carregado for /models/modelA, defina este parâmetro como /models/modelA.

model_version_policy

Não

Política para carregamento de versões do modelo.

  • Se este parâmetro não for definido, o service carrega a versão mais recente do modelo por padrão.

  • all: {}: Carrega todas as versões do modelo. No exemplo, todas as versões do modelA são carregadas.

  • latest{}: No exemplo, o modelC está configurado com num_versions: 2, o que carrega as duas versões mais recentes: 2 e 3.

  • specific: {}: Carrega as versões especificadas. No exemplo, a Versão 1 e a Versão 2 do modelB são carregadas.

version_labels

Não

Configure rótulos personalizados para uma versão do modelo. Se version_labels não estiver configurado, a distinção entre versões ocorre apenas pelos números de versão. O caminho da requisição é: /v1/models/<model name>/versions/<version number>:predict.

Se version_labels estiverem definidos, use /v1/models/<model name>/labels/<version label>:predict para direcionar a requisição a um número de versão específico usando seu rótulo.

Nota

Por padrão, rótulos só podem ser atribuídos a versões de modelo que foram carregadas e iniciadas com sucesso como services. Para pré-atribuir rótulos a versões ainda não carregadas, defina o parâmetro de inicialização --allow_version_labels_for_unavailable_models=true no campo Command to Run. A implantação baseada em cenário não suporta a configuração do campo Command to Run. Opte pela implantação personalizada.

Implantar service

Existem duas formas de implantar uma imagem do TensorFlow Serving:

  • Implantação baseada em cenário: Ideal para cenários básicos de implantação. Permite implantar um service de inferência do TensorFlow Serving configurando apenas alguns parâmetros.

  • Implantação personalizada: Oferece flexibilidade para ajustar diversas opções de configuração, como modificar a porta ou definir o intervalo de verificação do arquivo de modelo.

Importante

Os services de inferência do TensorFlow Serving suportam as portas 8501 e 8500.

  • 8501: Suporta requisições HTTP. Um service HTTP ou REST inicia nesta porta.

  • 8500: Suporta requisições gRPC. Um service gRPC inicia nesta porta.

O método de implantação baseada em cenário usa a porta 8501 por padrão, sem possibilidade de alteração. Para utilizar a porta 8500, adote o método de implantação personalizada.

Scenario-based

Procedimento:

  1. Faça login no PAI console. Selecione uma região no topo da página. Em seguida, escolha o workspace desejado e clique em Enter Elastic Algorithm Service (EAS).

  2. Na página Elastic Algorithm Service (EAS), clique em Deploy Service. Na seção Scenario-based Model Deployment, clique em Tensorflow Serving Deployment.

  3. Na página Tensorflow Serving Deployment, configure os parâmetros. A tabela abaixo detalha os principais parâmetros. Para informações sobre outros parâmetros, consulte custom deployment.

    Parâmetro

    Descrição

    Deployment Method

    Dois métodos de implantação são suportados:

    • Standard Model Deployment: Utilizado para implantar um service de modelo único.

    • Configuration File Deployment: Utilizado para implantar um service multimodelo.

    Model Settings

    Se selecionar Standard Model Deployment em Deployment Method, configure o caminho do OSS para o arquivo de modelo.

    Ao optar por Configuration File Deployment em Deployment Method, configure os seguintes parâmetros:

    • OSS: Selecione o caminho do OSS onde os arquivos de modelo estão localizados.

    • Mount Path: Caminho na instância do service onde os arquivos de modelo serão montados.

    • Configuration File: Selecione o caminho do OSS onde o arquivo de configuração do modelo está localizado.

    A tabela a seguir apresenta exemplos de configuração.

    Parâmetro

    Exemplo de modelo único

    Exemplo multimodelo

    Service Name

    modela_scene

    multi_scene

    Deployment Method

    Selecione Standard Model Deployment.

    Selecione Configuration File Deployment.

    Model Settings

    OSS: oss://examplebucket/models/tf_serving/modelA/.

    • OSS: oss://examplebucket/models/tf_serving/.

    • Mount Path: /models

    • Configuration File: oss://examplebucket/models/tf_serving/model_config.pbtxt

  4. Após configurar os parâmetros, clique em Deploy.

Custom

Procedimento:

  1. Faça login no PAI console. Selecione uma região no topo da página. Em seguida, escolha o workspace desejado e clique em Enter Elastic Algorithm Service (EAS).

  2. Clique em Deploy Service. Na seção Inference Service, clique em Custom Deployment dentro da área Custom Model Deployment.

  3. Na página Custom Deployment, configure os parâmetros. A tabela abaixo detalha os principais parâmetros. Para informações sobre outros parâmetros, consulte custom deployment.

    Parâmetro

    Descrição

    Image Configuration

    Na lista Alibaba Cloud Image, selecione tensorflow-serving e a versão correspondente da imagem. Recomendamos escolher a versão mais recente.

    Nota

    Se o service exigir GPU, a versão da imagem deve terminar com -gpu, por exemplo, x.xx.x-gpu.

    Model Settings

    É possível configurar os arquivos de modelo de várias maneiras. Este exemplo utiliza o tipo OSS.

    • Uri: Selecione o caminho do OSS para os arquivos de modelo.

    • Mount Path: Caminho na instância do service onde os arquivos de modelo serão montados.

    Command to Run

    Ao selecionar a imagem tensorflow-serving, o comando /usr/bin/tf_serving_entrypoint.sh é carregado automaticamente. Abaixo estão os demais parâmetros de inicialização do tensorflow-serving que devem ser definidos.

    Parâmetros de inicialização para implantação de modelo único:

    • --model_name: Nome do modelo usado na URL para requisições ao service. Se não especificado, o nome padrão é 'model'.

    • --model_base_path: Especifica o caminho do diretório de armazenamento do modelo na instância. Sem essa configuração, o caminho padrão será /models/model.

    Parâmetros de inicialização para implantação multimodelo:

    • --model_config_file: Obrigatório. Especifica o arquivo de configuração do modelo.

    • --model_config_file_poll_wait_seconds: Opcional. Para modificar o conteúdo do arquivo de configuração após o início do service, configure um intervalo de verificação em segundos. O service lerá o arquivo nesse intervalo. Por exemplo, --model_config_file_poll_wait_seconds=30 faz com que o service leia o arquivo de configuração a cada 30 segundos.

      Nota

      Quando o service de inferência lê um novo arquivo de configuração, ele processa apenas o conteúdo atualizado. Por exemplo, se o arquivo antigo continha o modelo A e o novo remove o modelo A e adiciona o modelo B, o service descarrega o modelo A e carrega o modelo B.

    • --allow_version_labels_for_unavailable_models: Opcional. O valor padrão é false. Para atribuir rótulos antecipadamente a versões de modelo ainda indisponíveis, defina este parâmetro como true. Exemplo: --allow_version_labels_for_unavailable_models=true.

    A tabela a seguir apresenta exemplos de configuração.

    Parâmetro

    Exemplo de modelo único

    Exemplo multimodelo

    Deployment Method

    Selecione Image-based Deployment.

    Image Configuration

    Selecione Alibaba Cloud Image: tensorflow-serving > tensorflow-serving:2.14.1.

    Model Settings

    Defina o tipo de modelo como OSS.

    • Uri: oss://examplebucket/models/tf_serving/.

    • Mount Path: Defina como /models.

    Command to Run

    /usr/bin/tf_serving_entrypoint.sh --model_name=modelA --model_base_path=/models/modelA

    /usr/bin/tf_serving_entrypoint.sh --model_config_file=/models/model_config.pbtxt --model_config_file_poll_wait_seconds=30 --allow_version_labels_for_unavailable_models=true

    Por padrão, o service escuta na porta 8501 para requisições HTTP/REST. Para habilitar requisições gRPC, siga as etapas abaixo:

    • Na seção Environment Information, altere o Port Number para 8500.

    • Ainda na seção Environment Information, ative a chave Enable gRPC.

    • Na seção Service Configurations, adicione a seguinte configuração:

      "networking": {
          "path": "/"
      }
  4. Clique em Deploy.

Enviar requisições ao service

Dependendo da porta configurada durante a implantação, o service suporta os protocolos de requisição HTTP e gRPC. Os exemplos abaixo utilizam o modelA.

  1. Prepare os dados de teste

    O modelA é um modelo de classificação de imagens treinado no conjunto de dados Fashion-MNIST, composto por imagens em escala de cinza de 28x28. O modelo gera a probabilidade de uma amostra pertencer a uma das 10 classes. Para testes, utilize [[[[1.0]] * 28] * 28] como dados de entrada nas requisições ao modelA.

  2. Exemplos de requisição

    HTTP requests

    Com a porta configurada para 8501, o service aceita requisições HTTP. A tabela a seguir resume os caminhos de requisição HTTP para implantações de modelo único e multimodelo.

    Modelo único

    Multimodelo

    Formato do caminho: <service_url>/v1/models/<model_name>:predict

    Onde:

    • Na implantação baseada em cenário, <model_name> não pode ser personalizado e assume o valor padrão model.

    • Na implantação personalizada, <model_name> corresponde ao nome configurado no campo Command to Run. Sem configuração, o padrão é model.

    As requisições podem ser feitas com ou sem especificação da versão do modelo. Os formatos de caminho são:

    • Sem especificar versão (carrega a mais recente por padrão):

      <service_url>/v1/models/<model_name>:predict

    • Especificando a versão do modelo:

      /v1/models//versions/:predict

    • Se version_labels estiverem definidos:

      <service_url>/v1/models/<model_name>/labels/<version label>:predict

    Aqui, <model_name> refere-se ao nome definido no arquivo de configuração do modelo.

    No caminho, <service_url> representa o endpoint do service. Encontre o endpoint clicando em Invocation Information na coluna Service Type do service desejado na página Elastic Algorithm Service (EAS). Ao usar o recurso de depuração online no console, essa parte do caminho é preenchida automaticamente.

    Para uma implantação baseada em cenário de um modelo único, como o modelA, o caminho da requisição HTTP é: <service_url>/v1/models/model:predict.

    As seções a seguir detalham como enviar requisições usando o recurso de depuração online no console e via código Python.

    Online debugging

    Após a implantação do service, clique em Online Debugging na coluna Actions do service. Na seção Request Parameter Online Tuning, o <service_url> já estará preenchido. Adicione o caminho /v1/models/model:predict à URL e configure os dados da requisição no Body:

    {"signature_name": "serving_default", "instances": [[[[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0],-1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0],-1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0],-1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.e-01]]]}

    Após configurar os parâmetros, clique em Send Request. A saída será semelhante à seguinte.

    Status Code: 200
    Connection: Keep-Alive
    Content-Length: 158
    Content-Type: application/json
    Date: Fri, 08 Nov 2024 02:28:08 GMT
    Body: {
        "predictions": [[-9.40927601, -5.41267443, -15.9157038, -15.7119455, -16.194952, -42.5621414, -7.23207045, -43.1042442, 4.25585461, -31.3991375]
        ]
    }

    Send an HTTP request using Python code

    Segue um exemplo de código Python:

    from urllib import request
    import json
    # Replace <service_url> and <test-token> with your service endpoint and token.
    # To obtain them, click Invocation Information for your inference service and then go to the Public Endpoint Invocation tab.
    service_url = '<service_url>'
    token = '<test-token>'
    # For a scenario-specific single-model deployment, set this to "model". For other cases, refer to the path description table above.
    model_name = "model"
    url = "{}/v1/models/{}:predict".format(service_url, model_name)
    # Create an HTTP request.
    req = request.Request(url, method="POST")
    req.add_header('authorization', token)
    data = {
        'signature_name': 'serving_default',
        'instances': [[[[1.0]] * 28] * 28]
    }
    # Send the request.
    response = request.urlopen(req, data=json.dumps(data).encode('utf-8')).read()
    # Check the response.
    response = json.loads(response)
    print(response)

    gRPC requests

    Ao definir a porta como 8500 e adicionar as configurações gRPC, o service passa a aceitar requisições gRPC. Segue um exemplo de código Python:

    import grpc
    import tensorflow as tf
    from tensorflow_serving.apis import predict_pb2
    from tensorflow_serving.apis import prediction_service_pb2_grpc
    from tensorflow.core.framework import tensor_shape_pb2
    # The service endpoint. For the format, see the description of the host parameter below.
    host = "tf-serving-multi-grpc-test.166233998075****.cn-hangzhou.pai-eas.aliyuncs.com:80"
    # Replace <test-token> with the service token. You can view the token on the Invocation Information page.
    token = "<test-token>"
    # The model name. See the description of the name parameter below.
    name = "<model_name>"
    signature_name = "serving_default"
    # The model version number. You can send requests to only one model version at a time.
    version = "<version_num>"
    # Create a gRPC request.
    request = predict_pb2.PredictRequest()
    request.model_spec.name = name
    request.model_spec.signature_name = signature_name
    request.model_spec.version.value = version
    request.inputs["keras_tensor"].CopyFrom(tf.make_tensor_proto([[[[1.0]] * 28] * 28]))
    # Request the service.
    channel = grpc.insecure_channel(host)
    stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)
    metadata = (("authorization", token),)
    response, _ = stub.Predict.with_call(request, metadata=metadata)
    print(response)

    Os principais parâmetros são descritos abaixo:

    Parâmetro

    Descrição

    host

    Defina este parâmetro com o endpoint do service. Omita http:// do endpoint e adicione :80 ao final. Na página Elastic Algorithm Service (EAS), clique em Invocation Information na coluna Service Type do service alvo para visualizar o endpoint.

    name

    • Para requisições gRPC a um modelo único:

      • Implantação baseada em cenário: Defina como model.

      • Implantação personalizada: Defina como o nome do modelo configurado em Command to Run. Sem configuração, o valor padrão é model.

    • Para requisições gRPC a múltiplos modelos:

      Defina como o nome do modelo configurado no arquivo de configuração do modelo.

    version

    Defina como o número da versão do modelo. É possível enviar requisições para apenas uma versão do modelo por vez.

    metadata

    Defina como o token do service. Visualize o token na página Invocation Information.

Documentos relacionados