Configura Vertex AI TensorBoard

Los siguientes elementos son necesarios para configurar Vertex AI TensorBoard:

  1. Crea una cuenta de servicio con los permisos necesarios
  2. Crea un bucket de Cloud Storage para almacenar registros de Vertex AI TensorBoard
  3. Crea una instancia de Vertex AI TensorBoard

Crea una cuenta de servicio con los permisos necesarios

La integración de Vertex AI TensorBoard con la capacitación personalizada requiere conectar una cuenta de servicio.

  1. Crea una cuenta de servicio:

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

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que crearás una cuenta de servicio.

    • USER_SA_NAME: un nombre único para la cuenta de servicio que creas.

  2. El servicio de capacitación de Vertex AI usa la cuenta de servicio nueva para acceder a los servicios y recursos de Google Cloud. Usa los siguientes comandos para otorgar estas funciones si es necesario:

    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"
    

Crea un bucket de Cloud Storage para almacenar registros de Vertex AI TensorBoard

Se requiere un bucket de Cloud Storage para almacenar los registros de TensorBoard de Vertex AI que genera la secuencia de comandos de capacitación. El bucket debe ser regional, es decir, no debe ser multirregión ni birregional y los siguientes recursos deben estar en la misma región:

  • Bucket de Cloud Storage
  • Trabajo de capacitación de Vertex AI
  • Instancia de Vertex AI TensorBoard

Puedes usar un bucket existente en lugar de seguir el paso de creación de buckets que se describe aquí. Cuando usas un bucket existente, la ubicación del bucket debe ser la misma en la que se creó la instancia de Vertex AI TensorBoard.

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

Reemplaza LOCATION_ID por la ubicación en la que se creó la instancia de Vertex AI TensorBoard, por ejemplo, us-central1.

Crea una instancia de Vertex AI TensorBoard

Debe haber una instancia de TensorBoard de Vertex AI, que es un recurso regionalizado que almacena tus experimentos de TensorBoard de Vertex AI, antes de que se puedan visualizar los experimentos. Existen dos opciones: Puedes usar una instancia predeterminada o crear una de forma manual. Puedes crear varias instancias dentro de un proyecto y una región. Sin embargo, la mayoría de los usuarios solo necesitan una instancia.

Usa la instancia predeterminada de Vertex AI TensorBoard

Cuando se inicia un experimento de Vertex AI, se crea una instancia de TensorBoard predeterminada. Este TensorBoard de respaldo está asociado con el experimento de Vertex AI y se usa con todas las ejecuciones posteriores de Vertex AI Experiments. El tensorboard_resource_name se puede recuperar directamente desde el experimento. Esta es la forma más fácil de comenzar a usar Vertex AI TensorBoard y debe satisfacer la mayoría de las necesidades de los usuarios.

SDK de Vertex AI para Python

Crear un experimento de Vertex AI TensorBoard con una instancia predeterminada mediante el SDK de Vertex AI para Python. Recupera el tensorboard_resource_name del experimento. Consulta init y Experiment en la documentación de referencia del SDK de 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: El nombre de tu experimento.
  • experiment_description: Es una descripción del experimento.
  • project: El PROJECT_ID del proyecto en el que deseas crear la instancia de Vertex TensorBoard.
  • location: La ubicación en la que se creará tu instancia de TensorBoard. La ubicación de Vertex AI TensorBoard es regional. Asegúrate de seleccionar una región que admita Vertex AI TensorBoard.

Crea una instancia de TensorBoard de Vertex AI de forma manual

Puedes crear un TensorBoard de Vertex AI de forma manual Esto es útil para los usuarios que se sienten más cómodos con la consola de Google Cloud, los usuarios que necesitan una TensorBoard habilitada con CMEK (consulta CMEK) o los usuarios que desean usar varios TensorBoards. Esta instancia se puede especificar directamente cuando se inicia un experimento de Vertex AI, se inicia una ejecución de experimento o se configura el código de capacitación.

SDK de Vertex AI para Python

Crear una instancia de Vertex AI TensorBoard con el SDK de 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: El PROJECT_ID del proyecto en el que deseas crear la instancia de Vertex TensorBoard.
  • display_name: Un nombre descriptivo para la instancia de Vertex AI TensorBoard.
  • location: La ubicación en la que se creará tu instancia de TensorBoard. La ubicación de Vertex AI TensorBoard es regional. Asegúrate de seleccionar una región que admita Vertex AI TensorBoard.

Google Cloud CLI

Usa Google Cloud CLI para crear una instancia de Vertex AI TensorBoard.

  1. Instala gcloud CLI
  2. Inicia Google Cloud CLI mediante la ejecución de gcloud init.
  3. Para confirmar la instalación, explora los comandos.
     gcloud ai tensorboards --help 

    Los comandos incluyen create, describe, list, update y delete. Si es necesario, puedes seguir estos pasos para establecer valores predeterminados para tu proyecto y ubicación antes de continuar.
  4. Autentícate en la gcloud CLI
    gcloud auth application-default login
  5. Para crear una instancia de Vertex AI TensorBoard, proporciona un nombre de proyecto y un nombre visible. Este paso puede tardar unos minutos en completarse por primera vez en un proyecto. Toma nota del nombre de la instancia de TensorBoard de Vertex AI (por ejemplo: projects/123/locations/us-central1/tensorboards/456) que se imprimirá al final del siguiente comando. La necesitarás en los pasos posteriores.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Reemplaza lo siguiente:
    • PROJECT_NAME: el proyecto en el que deseas crear la instancia de Vertex TensorBoard
    • DISPLAY_NAME: un nombre descriptivo para la instancia de Vertex TensorBoard

Consola de Google Cloud

Si deseas que tus datos de Vertex AI TensorBoard estén encriptados, debes habilitar la clave de CMEK cuando creas la instancia.

Sigue estos pasos para crear una instancia habilitada de CMEK de Vertex AI con la consola de Google Cloud

  1. Si eres nuevo en Vertex AI o si estás empezando un proyecto nuevo, configura tu proyecto y tu entorno de desarrollo.
  2. En la sección de Vertex AI de la consola de Google Cloud, ve a la página Experimentos.

    Ir a la página Experimentos.
  3. Navega a la pestaña Instancias de TensorBoard.
  4. Haz clic en Crear en la parte superior de la página.
  5. Selecciona una ubicación de la lista desplegable Región.
  6. Agrega una descripción (opcional).
  7. En Encriptación, elige Clave de encriptación administrada por el cliente (CMEK) y elige una clave administrada por el cliente (opcional).
  8. Haz clic en Crear para crear la instancia de TensorBoard.

Crea instancia de TensorBoard

Terraform

En el siguiente ejemplo, se usa el recurso google_vertex_ai_tensorboard de Terraform para crear una instancia no encriptada de TensorBoard de Vertex AI.

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

Terraform

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

Borra una instancia de TensorBoard

Cuando se borra una instancia de TensorBoard, se borra ese TensorBoard y todos los experimentos y ejecuciones de TensorBoard asociados. No se borrarán los Vertex AI Experiments con los que se asocia la instancia.

Para borrar un experimento de Vertex AI y sus experimentos de Vertex AI TensorBoard asociados, consulta Borra un experimento.

SDK de Vertex AI para Python

Borra una instancia de TensorBoard de Vertex AI con el SDK de 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: Proporciona el nombre del recurso de TensorBoard.
  • project: La PROJECT_ID en la que se encuentra tu instancia de TensorBoard.
  • location: La ubicación en la que se encuentra tu instancia de TensorBoard.

Consola de Google Cloud

Sigue estos pasos para crear una instancia de TensorBoard de Vertex AI con la consola de Google Cloud.

  1. En la sección Vertex AI de la consola de Google Cloud, ve a la página Experimentos.

    Ir a la página Experimentos
  2. Elige la pestaña Instancias de TensorBoard. Aparecerá una lista de instancias de TensorBoard.
  3. Elige y haz clic en Borrar

Borrar instancia de TensorBoard

Términos relevantes

Se hace referencia a estos términos, “Nombre de recurso de TensorBoard” y “ID de instancia de TensorBoard” en varias muestras.

Nombre del recurso de TensorBoard

El nombre del recurso de TensorBoard se usa para identificar por completo la instancia de Vertex AI TensorBoard. El formato es el siguiente:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

El nombre del recurso de TensorBoard se imprime en los mensajes de registro cuando se crea mediante la gcloud CLI o el SDK de Vertex AI, o se puede crear si proporcionas los valores adecuados para los marcadores de posición.

SDK de Vertex AI para Python

El nombre del recurso de TensorBoard se puede recuperar de un experimento de Vertex AI con el SDK de 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: El nombre de tu experimento.
  • project: Es el PROJECT_ID de tu experimento.
  • location: Es la ubicación en la que se encuentra tu experimento.

ID de instancia de TensorBoard

El ID de instancia de TensorBoard es un valor de ID generado y asociado con una instancia de TensorBoard. Para encontrar el TENSORBOARD_INSTANCE_ID, ve a la sección Vertex AI de la página Experimentos de la consola de Google Cloud y selecciona la pestaña Instancias de TensorBoard.

También puedes recuperar el ID de la instancia del nombre del recurso de TensorBoard. ID de TensorBoard