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:

Entrenamiento

  • Habilitar a etapa tu aplicación de entrenamiento y tus dependencias personalizadas
  • Almacenar tus datos de entrada de entrenamiento
  • Almacenar tus datos de salida de entrenamiento

Predicción

Predicción por lotes

  • Almacenar tus archivos de entrada de predicción por lotes
  • Almacenar tus resultados de predicción por lotes

Consideraciones sobre la región

Cuando creas un depósito 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 donde ejecutas tus trabajos de entrenamiento

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

Configura los depósitos de Cloud Storage

En esta sección, se muestra cómo crear un depósito nuevo. Puedes usar un depósito 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 depósito 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 depósito que creaste.

    echo $BUCKET_NAME
  3. Selecciona una región para el depósito 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 código siguiente, se crea una REGION y se la configura como us-central1:

    REGION=us-central1
  4. Crea el depósito nuevo:

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

Organización de modelos en depósitos

Organiza la estructura de carpetas en tu depósito para alojar muchas iteraciones de tu modelo.

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

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 subsecuente de tu modelo, usa una marca de tiempo actualizada (gs://your-bucket/your-model-DATE2/your-saved-model-file y así sucesivamente).

Accede a Cloud Storage durante la predicción

Si implementas una rutina de predicción personalizada (versión Beta) o una canalización de scikit-learn con código personalizado (versión Beta), la versión del modelo podrá leer desde cualquier depósito de Cloud Storage en el mismo proyecto durante el control de predicciones.

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

También puedes especificar una cuenta de servicio cuando implementas tu rutina de predicción personalizada para determinar a qué recursos de Cloud Storage tiene acceso tu implementación.

Usa un depósito 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 depósito 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 depósito de Cloud Storage.

Estas instrucciones se proporcionan para los siguientes casos:

  • No puedes usar un depósito 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

Console

  1. Abre la página IAM en Google Cloud Console.

    Abre la página de IAM

  2. La página IAM muestra una lista de todos los miembros de tu proyecto 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 de 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”.

    Durante los siguientes pasos, deberás pegar este ID de la cuenta de servicio en otra página de Cloud Console.

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 del proyecto con la herramienta de línea de comandos de gcloud con el 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 \
        | python -c "import json; import sys; response = json.load(sys.stdin); \
        print response['serviceAccount']")
    

Paso 2: Configura el acceso a tu depósito de Cloud Storage

Console

  1. Abre la página Almacenamiento en Cloud Console.

    Abre la página de Storage

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

  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 miembros, 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 miembros.

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 depósito 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 depósito 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 depósito de Cloud Storage:

    gsutil -m defacl ch -u $SVC_ACCOUNT:R gs://$BUCKET_NAME
    
  3. Si tu depósito 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.

Próximos pasos