Configure o Vertex AI TensorBoard

Os seguintes requisitos são necessários para configurar o Vertex AI TensorBoard:

  1. Crie uma conta de serviço com as autorizações necessárias.
  2. Crie um contentor do Cloud Storage para armazenar registos do Vertex AI TensorBoard.
  3. Crie uma instância do Vertex AI TensorBoard.

Crie uma conta de serviço com as autorizações necessárias

A integração do Vertex AI TensorBoard com a preparação personalizada requer a associação de uma conta de serviço.

  1. Crie uma conta de serviço:

    gcloud --project=PROJECT_ID iam service-accounts create USER_SA_NAME
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto no qual está a criar uma conta de serviço.

    • USER_SA_NAME: um nome exclusivo para a conta de serviço que está a criar.

  2. A nova conta de serviço é usada pelo serviço de preparação da Vertex AI para aceder Google Cloud a serviços e recursos. Use os seguintes comandos para conceder estas funções, se necessário:

    SA_EMAIL="USER_SA_NAME@PROJECT_ID.iam.gserviceaccount.com"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/storage.admin"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/aiplatform.user"
    

Crie um contentor do Cloud Storage para armazenar registos do Vertex AI TensorBoard

É necessário um contentor do Cloud Storage para armazenar os registos do TensorBoard da Vertex AI que o seu script de preparação gera. O contentor tem de ser regional, ou seja, não pode ser multirregional nem birregional, e os seguintes recursos têm de estar na mesma região:

  • Contentor do Cloud Storage
  • Tarefa de preparação do Vertex AI
  • Instância do Vertex AI TensorBoard

Pode usar um contentor existente em vez de seguir o passo de criação do contentor descrito aqui. Quando usar um contentor existente, a localização do contentor tem de ser a mesma localização em que a sua instância do Vertex AI TensorBoard foi criada.

GCS_BUCKET_NAME="PROJECT_ID-tensorboard-logs-LOCATION_ID"
gcloud storage buckets create "gs://${GCS_BUCKET_NAME}" --location=LOCATION_ID

Substitua LOCATION_ID pela localização em que a instância do Vertex AI TensorBoard foi criada, por exemplo, us-central1.

GCS_BUCKET_NAME é usado para criar uma tarefa de preparação personalizada com REST.

Crie uma instância do Vertex AI TensorBoard

Tem de existir uma instância do Vertex AI TensorBoard, que é um recurso regionalizado que armazena as suas experiências do Vertex AI TensorBoard, antes de poderem ser visualizadas. Existem duas opções. Pode usar uma instância predefinida ou criar uma manualmente. Pode criar várias instâncias num projeto e numa região. No entanto, a maioria dos utilizadores só precisa de uma instância.

Use a instância do Vertex AI TensorBoard predefinida

É criada automaticamente uma instância do TensorBoard predefinida quando inicializa uma experiência do Vertex AI. Este TensorBoard de apoio está associado à experiência do Vertex AI e é usado com todas as execuções subsequentes de experiências do Vertex AI. O tensorboard_resource_name pode ser obtido diretamente a partir da experiência. Esta é a forma mais fácil de começar a usar o Vertex AI TensorBoard e deve satisfazer as necessidades da maioria dos utilizadores.

SDK Vertex AI para Python

Crie uma experiência do Vertex AI TensorBoard com uma instância predefinida através do SDK Vertex AI para Python. Recupere o tensorboard_resource_name da experiência. Consulte init e Experiment na documentação de referência do SDK Vertex AI.

Python

from google.cloud import aiplatform


def create_experiment_default_tensorboard_sample(
    experiment_name: str,
    experiment_description: str,
    project: str,
    location: str,
):
    aiplatform.init(
        experiment=experiment_name,
        experiment_description=experiment_description,
        project=project,
        location=location,
    )

    tensorboard = aiplatform.Experiment(experiment_name).get_backing_tensorboard_resource()
    print(f"Tensorboard resource name: {tensorboard.name}")

experiment_name: str, experiment_description: str, project: str, location: str,
  • experiment_name: o nome da sua experiência.
  • experiment_description: uma descrição da sua experiência.
  • project: o PROJECT_ID do projeto no qual quer criar a instância do TensorBoard.
  • location: a localização onde criar a sua instância do TensorBoard. A localização do Vertex AI TensorBoard é regional. Certifique-se de que seleciona uma região que suporte o Vertex AI TensorBoard.

Crie manualmente uma instância do Vertex AI TensorBoard

Pode criar manualmente um Vertex AI TensorBoard. Isto é útil para utilizadores mais confortáveis com a Google Cloud consola, utilizadores que precisam de um TensorBoard com CMEK ativado (consulte CMEK) ou utilizadores que querem usar vários TensorBoards. Em seguida, pode especificar diretamente esta instância quando inicializar uma experiência do Vertex AI, iniciar uma execução da experiência ou configurar o código de preparação.

SDK Vertex AI para Python

Crie uma instância do Vertex AI TensorBoard com o SDK Vertex AI para Python.

Python

def create_tensorboard_sample(
    project: str,
    location: str,
    display_name: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard.create(
        display_name=display_name,
        project=project,
        location=location,
    )

    aiplatform.init(
        project=project,
        location=location,
        experiment_tensorboard=tensorboard
    )

    return tensorboard

  • project: o PROJECT_ID do projeto no qual quer criar a instância do TensorBoard.
  • display_name: um nome descritivo para a instância do Vertex AI TensorBoard.
  • location: a localização onde criar a sua instância do TensorBoard. A localização do Vertex AI TensorBoard é regional. Certifique-se de que seleciona uma região que suporte o Vertex AI TensorBoard

CLI do Google Cloud

Use a CLI do Google Cloud para criar uma instância do Vertex AI TensorBoard.

  1. Instale a CLI gcloud
  2. Inicialize a CLI Google Cloud executando gcloud init.
  3. Para confirmar a instalação, explore os comandos.
     gcloud ai tensorboards --help 

    Os comandos incluem create, describe, list, update e delete. Se necessário, pode seguir estes passos para definir valores predefinidos para o seu projeto e localização antes de continuar.
  4. Autentique-se na CLI gcloud.
    gcloud auth application-default login
  5. Crie uma instância do Vertex AI TensorBoard fornecendo um nome do projeto e um nome a apresentar. Este passo pode demorar alguns minutos a ser concluído pela primeira vez num projeto. Tome nota do nome da instância do Vertex AI TensorBoard (por exemplo: projects/123/locations/us-central1/tensorboards/456) que é impresso no final do seguinte comando. Vai precisar dele nos passos posteriores.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Substitua o seguinte:
    • PROJECT_NAME: o projeto no qual quer criar a instância do TensorBoard.
    • DISPLAY_NAME: um nome descritivo para a instância do TensorBoard.

Google Cloud consola

Se quiser que os dados do Vertex AI TensorBoard sejam encriptados, tem de ativar a chave CMEK quando criar a instância.

Siga estes passos para criar uma instância do Vertex AI TensorBoard com CMEK ativado através da Google Cloud consola.

  1. Se é a primeira vez que usa o Vertex AI ou está a iniciar um novo projeto, configure o seu projeto e ambiente de desenvolvimento.
  2. Na secção do Vertex AI da Google Cloud consola, aceda à página Experiências.

    Aceda à página Experiências
  3. Navegue para o separador Instâncias do TensorBoard.
  4. Clique em Criar na parte superior da página.
  5. Selecione uma localização na lista pendente Região.
  6. (Opcional) Adicione uma descrição.
  7. (Opcional) Em Encriptação, selecione Chave de encriptação gerida pelo cliente (CMEK) e selecione uma chave gerida pelo cliente.
  8. Clique em Criar para criar a instância do TensorBoard.

criar instância do TensorBoard

Terraform

O exemplo seguinte usa o recurso do Terraform google_vertex_ai_tensorboard para criar uma instância do Vertex AI TensorBoard não encriptada.

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

Terraform

resource "google_vertex_ai_tensorboard" "default" {
  display_name = "vertex-ai-tensorboard-sample-name"
  region       = "us-central1"
}

Elimine uma instância do TensorBoard

A eliminação de uma instância do TensorBoard elimina esse TensorBoard e todas as experiências do TensorBoard e execuções do TensorBoard associadas. As experiências da Vertex AI às quais a instância está associada não são eliminadas.

Para eliminar uma experiência da Vertex AI e as experiências associadas do Vertex AI TensorBoard, consulte o artigo Elimine uma experiência.

SDK Vertex AI para Python

Elimine uma instância do Vertex AI TensorBoard através do SDK Vertex AI para Python.

Python

def delete_tensorboard_instance_sample(
    tensorboard_resource_name: str,
    project: str,
    location: str,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard(
        tensorboard_name=tensorboard_resource_name
    )

    tensorboard.delete()

  • tensorboard_resource_name: indique o nome do recurso do TensorBoard.
  • project: o PROJECT_ID em que a sua instância do TensorBoard se encontra.
  • location: a localização em que a sua instância do TensorBoard se encontra.

Google Cloud consola

Siga estes passos para eliminar uma instância do Vertex AI TensorBoard através da Google Cloud consola.

  1. Na secção Vertex AI da Google Cloud consola, aceda à página Experiências.

    Aceda à página Experiências
  2. Selecione o separador Instâncias do TensorBoard. É apresentada uma lista de instâncias do TensorBoard.
  3. Selecione e clique em Eliminar

eliminar instância do TensorBoard

Termos relevantes

Estes termos, "nome do recurso do TensorBoard" e "ID da instância do TensorBoard", são referenciados em vários exemplos.

Nome do recurso do TensorBoard

O nome do recurso do TensorBoard é usado para identificar totalmente a instância do Vertex AI TensorBoard. O formato é o seguinte:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

O nome do recurso do TensorBoard é impresso nas mensagens de registo quando é criado com a CLI gcloud ou o SDK do Vertex AI, ou pode ser criado fornecendo os valores adequados para os marcadores de posição.

SDK Vertex AI para Python

O nome do recurso do TensorBoard pode ser obtido a partir de uma Vertex AI Experiments através do SDK da Vertex AI.

Python

from google.cloud import aiplatform


def get_experiment_backing_tensorboard_sample(
    experiment_name: str,
    project: str,
    location: str,
):
    backing_tensorboard = aiplatform.Experiment(
        project=project,
        location=location,
        experiment_name=experiment_name
    ).get_backing_tensorboard_resource()

    return backing_tensorboard.name

  • experiment_name: o nome da sua experiência.
  • project: o PROJECT_ID da sua experiência.
  • location: a localização onde a sua experiência está localizada.

ID da instância do TensorBoard

O ID da instância do TensorBoard é um valor de ID gerado associado a uma instância do TensorBoard. Para encontrar o TENSORBOARD_INSTANCE_ID, aceda à página Experiências na secção Vertex AI da Google Cloud consola e selecione o separador Instâncias do TensorBoard.

Também pode obter o ID da instância a partir do nome do recurso do TensorBoard. ID do TensorBoard