Como gerenciar modelos e jobs

Durante o processo de treinamento e implantação de modelos e de recebimento de predições, é necessário gerenciar os recursos no Google Cloud Platform. Nesta página, você aprende a trabalhar com modelos, versões e jobs.

Como nomear recursos do AI Platform Training

Especifique um nome para cada job criado. As regras de nomenclatura são consistentes nos três tipos de recursos. Cada nome:

  • só pode conter letras, números e sublinhados;
  • diferencia maiúsculas de minúsculas;
  • precisa começar com uma letra;
  • não pode ter mais de 128 caracteres;
  • precisa ser exclusivo dentro do respectivo namespace (seu projeto para modelos e jobs, o modelo pai para versões).

Crie nomes que sejam fáceis de distinguir em listas de recursos, como registros de jobs. Veja algumas sugestões:

  • Use o nome do modelo e um índice de job (por exemplo, o carimbo de data/hora da criação do job) para nomear todos os jobs de um modelo.
  • Nomeie seus modelos para que sejam facilmente identificados pelo conjunto de dados que usam (census_wide_deep costuma ser melhor que my_new_model, por exemplo).
  • O ideal é que as versões sejam facilmente legíveis. Em vez de usar um carimbo de data/hora ou um valor exclusivo semelhante, recomendamos o uso de designadores de versão simples, como v1.

Como gerenciar jobs

O AI Platform Training aceita dois tipos de jobs: treinamento e previsão em lote. Os detalhes de cada um são diferentes, mas a operação básica é a mesma.

Na tabela a seguir, você encontra um resumo das operações do job e uma lista das interfaces que podem ser usadas para executá-las:

Operação Interfaces Observações
create projects.jobs.create

A criação de jobs está descrita detalhadamente nos guias sobre treinamento e previsão em lote.

gcloud ai-platform jobs submit training

gcloud ai-platform jobs submit prediction

Nenhuma implementação do console.
cancel projects.jobs.cancel

Cancela um job em execução.

gcloud ai-platform jobs cancel

Cancelar na página Detalhes do job.
get projects.jobs.get A informação recebida está descrita na referência do recurso Jobs.

gcloud ai-platform jobs describe

Página Detalhes do job. Acesse com um link da lista Jobs.
list projects.jobs.list

gcloud ai-platform jobs list

Lista Jobs.

Como manipular operações assíncronas

Muitas operações de gerenciamento de recursos do AI Platform Training geram resultados o mais rápido possível e fornecem uma resposta completa. No entanto, há dois tipos de operações assíncronas que precisam ser compreendidas: jobs e operações de longa duração.

Ao iniciar uma operação assíncrona, normalmente você quer saber quando ela estará concluída. O processo para receber o status é diferente para jobs e operações de longa duração.

Como receber o status de um job

Use projects.jobs.get para receber o status de um job. Esse método também é fornecido como gcloud ai-platform jobs describe e na página Jobs no Console do Google Cloud. Independentemente de como o status for recebido, a informação será baseada nos membros do recurso Job. Você saberá que o job foi concluído quando Job.state na resposta for igual a um destes valores:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Como receber o status de uma operação de longa duração

O AI Platform Training tem três operações de longa duração:

  • Criação de uma versão
  • exclusão de um modelo
  • exclusão de uma versão

Das operações de longa duração, apenas a criação de uma versão deve levar muito tempo para ser concluída. A exclusão de modelos e versões geralmente é realizada em tempo quase real.

Se você criar uma versão usando a ferramenta de linha de comando gcloud ou o Console do Cloud, a interface informará automaticamente quando a operação for concluída. Se você criar uma versão com a API, poderá acompanhar o status da operação:

  1. Receba o nome da operação atribuída pelo serviço do objeto Operation recebido na resposta da chamada a projects.models.versions.create. A chave do valor do nome é "name".

  2. Use projects.operations.get para pesquisar periodicamente o status da operação.

    1. Use o nome da operação da primeira etapa para formar uma string de nome no formato:

      'projects/my_project/operations/operation_name'
      

      A mensagem de resposta contém um objeto Operation.

    2. Receba o valor da chave "done". É um indicador booleano de conclusão da operação. Ele será true se a operação estiver concluída.

  3. O objeto de operação incluirá uma das duas chaves na conclusão:

    • A chave "response" estará presente se a operação for bem-sucedida. O valor dela precisa ser google.protobuf.Empty, já que nenhuma das operações de longa duração do AI Platform Training tem objetos de resposta.

    • A chave "error" estará presente se ocorrer um erro. O valor dela é um objeto Status.

A seguir