Trabaja con Cloud Storage

AI Platform Training lee datos de ubicaciones de Cloud Storage en las que otorgaste acceso a tu proyecto de AI Platform Training. En esta página, se ofrece una guía rápida para usar Cloud Storage con AI Platform Training.

Descripción general

El uso de Cloud Storage es obligatorio o recomendado para los siguientes aspectos de los servicios de AI Platform Training:

  • Almacenar en etapa intermedia tu aplicación de entrenamiento y tus dependencias personalizadas
  • Almacenar los datos de entrada de entrenamiento, como datos tabulares o de imagen
  • Almacenar los datos de salida de entrenamiento

Consideraciones sobre la región

Cuando creas un bucket de Cloud Storage para usar con AI Platform Training, debes seguir estos pasos:

  • Asignarlo a una región de procesamiento específica, no a un valor multirregión
  • Usar la misma región en la que ejecutas tus trabajos de entrenamiento

Obtén más información sobre las regiones disponibles de AI Platform Training.

Cómo configurar tus depósitos de Cloud Storage

En esta sección se muestra cómo crear un bucket nuevo. Puedes usar un bucket existente, pero debe estar en la misma región en la que planeas ejecutar los trabajos de AI Platform. Además, si no es parte del proyecto que usas para ejecutar AI Platform Training, debes otorgar acceso a las cuentas de servicio de AI Platform Training de forma explícita.

  1. Especifica un nombre para el bucket nuevo. El nombre debe ser único en todos los depósitos en Cloud Storage.

    BUCKET_NAME="YOUR_BUCKET_NAME"

    Por ejemplo, usa el nombre de tu proyecto con -aiplatform agregado:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    BUCKET_NAME=${PROJECT_ID}-aiplatform
  2. Comprueba el nombre del bucket que creaste.

    echo $BUCKET_NAME
  3. Selecciona una región para tu bucket y establece una variable de entorno REGION.

    Usa la misma región en la que planeas ejecutar los trabajos de AI Platform Training. Consulta las regiones disponibles para los servicios de AI Platform Training.

    Por ejemplo, con el siguiente código, se crea una REGION y se establece en us-central1:

    REGION=us-central1
  4. Crea el bucket nuevo:

    gsutil mb -l $REGION gs://$BUCKET_NAME

Organización de modelos en depósitos

Organiza la estructura de carpetas en tu bucket para alojar muchas iteraciones de tu modelo.

  • Coloca cada modelo guardado en su propio directorio separado dentro de tu bucket.
  • Considera usar marcas de tiempo para nombrar los directorios de tu bucket.

Por ejemplo, puedes colocar tu primer modelo en una estructura similar a gs://your-bucket/your-model-DATE1/your-saved-model-file. Si deseas nombrar los directorios para cada iteración posterior de tu modelo, usa una marca de tiempo actualizada (gs://your-bucket/your-model-DATE2/your-saved-model-file y así de forma sucesiva).

Accede a Cloud Storage durante el entrenamiento

Usa un módulo de Python que pueda leer desde Cloud Storage en tu código de entrenamiento, como el Cliente de Python para Google Cloud Storage, el módulo tf.io.gfile.GFile de TensorFlow o Pandas 0.24.0 o posterior. AI Platform Training se encarga de la autenticación.

Usa un bucket de Cloud Storage de un proyecto diferente

En esta sección, se describe cómo configurar depósitos de Cloud Storage por fuera de tu proyecto para que AI Platform Training pueda acceder a ellos.

Si configuras tu bucket de Cloud Storage en el mismo proyecto en el que usas AI Platform Training, tus cuentas de servicio de AI Platform Training ya tendrán los permisos necesarios para acceder a tu bucket de Cloud Storage.

Estas instrucciones se proporcionan para los siguientes casos:

  • No puedes usar un bucket de tu proyecto, como cuando se comparte un gran conjunto de datos en varios proyectos.
  • Si usas varios depósitos con AI Platform Training, debes otorgar acceso a cada una de las cuentas de servicio por separado.

Paso 1: Obtén la información necesaria de tu proyecto de la nube

Consola

  1. Abre la página de IAM en la consola de Google Cloud.

    Abrir la página de IAM

  2. La página IAM muestra una lista de todos los principales que tienen acceso al proyecto, junto con sus funciones asociadas. Existen varias cuentas de servicio para tu proyecto de AI Platform Training. Localiza la cuenta de servicio en la lista que tiene la función Agente de servicios de Cloud ML y copia el ID de la cuenta de servicio, que es similar a lo siguiente:

    “service-111111111111@cloud-ml.google.com.iam.gserviceaccount.com”.

    Debes pegar este ID de cuenta de servicio en una página diferente en la consola de Google Cloud durante los próximos pasos.

Línea de comandos

En los pasos de esta sección, se obtiene información sobre tu proyecto de Google Cloud a fin de cambiar el control de acceso para la cuenta de servicio de tu proyecto de AI Platform Training. Es necesario que almacenes los valores para su uso posterior en las variables de entorno.

  1. Obtén el identificador de tu proyecto mediante Google Cloud CLI con tu proyecto seleccionado:

    PROJECT_ID=$(gcloud config list project --format "value(core.project)")
    
  2. Obtén el token de acceso para tu proyecto con gcloud:

    AUTH_TOKEN=$(gcloud auth print-access-token)
    
  3. Obtén la información de la cuenta de servicio mediante la solicitud de la configuración del proyecto del servicio de REST:

    SVC_ACCOUNT=$(curl -X GET -H "Content-Type: application/json" \
        -H "Authorization: Bearer $AUTH_TOKEN" \
        https://ml.googleapis.com/v1/projects/${PROJECT_ID}:getConfig \
        | python3 -c "import json; import sys; response = json.load(sys.stdin); \
        print(response['serviceAccount'])")
    

Paso 2: Configura el acceso a tu bucket de Cloud Storage

Consola

  1. Abre la página Almacenamiento en la consola de Google Cloud.

    Abrir la página de Storage

  2. Selecciona el bucket de Cloud Storage que usas a fin de implementar los modelos. Para ello, marca la casilla a la izquierda del nombre del bucket.

  3. Haz clic en el botón Mostrar el panel de información en la esquina superior derecha para mostrar la pestaña Permisos.

  4. Pega el ID de la cuenta de servicio en el campo Agregar miembros. A la derecha de ese campo, selecciona tus funciones deseadas, como lector de depósitos heredados de Storage.

    Si no estás seguro de qué función seleccionar, puedes elegir varias para mostrarlas debajo del campo Agregar principales, cada una con una breve descripción de sus permisos.

  5. Para asignar tus funciones a la cuenta de servicio, haz clic en el botón Agregar a la derecha del campo Agregar principales.

Línea de comandos

Ahora que tienes la información de tu cuenta de servicio y proyecto, debes actualizar los permisos de acceso para tu bucket de Cloud Storage. En estos pasos, se usan los mismos nombres de variables que en la sección anterior.

  1. Establece el nombre de tu bucket en una variable de entorno llamada BUCKET_NAME:

    BUCKET_NAME="your_bucket_name"
    
  2. Otorga acceso de lectura a la cuenta de servicio de tu bucket de Cloud Storage:

    gsutil -m defacl ch -u $SVC_ACCOUNT:R gs://$BUCKET_NAME
    
  3. Si tu bucket contiene objetos a los que necesitas acceder, debes otorgarles acceso de lectura de manera explícita:

    gsutil -m acl ch -u $SVC_ACCOUNT:R -r gs://$BUCKET_NAME
    
  4. Otorga acceso de escritura:

    gsutil -m acl ch -u $SVC_ACCOUNT:W gs://$BUCKET_NAME
    

Para elegir qué función deseas otorgar a la cuenta de servicio de AI Platform Training, consulta las funciones de IAM de Cloud Storage. Para obtener información general acerca de la actualización de las funciones de IAM en Cloud Storage, consulta cómo otorgar acceso a una cuenta de servicio para un recurso.

¿Qué sigue?