O AI Platform Training lê dados de locais do Cloud Storage em que foi concedido acesso ao projeto do AI Platform Training. Veja nesta página um guia rápido sobre o uso do Cloud Storage com o AI Platform Training.
Visão geral
O uso do Cloud Storage é necessário ou recomendado nos processos a seguir dos serviços do AI Platform Training:
- Organização do aplicativo de treinamento e das dependências personalizadas.
- Armazenamento dos dados de entrada de treinamento, como dados tabulares ou de imagem.
- Armazenamento dos dados de saída do treinamento
Considerações sobre regiões
Ao criar um bucket do Cloud Storage para usar com o AI Platform Training, você precisa fazer o seguinte:
- Atribuí-lo a uma região de computação específica, não a um valor multirregional.
- Usar a mesma região em que os jobs de treinamento são executados.
Veja mais sobre as regiões disponíveis do AI Platform Training.
Como configurar os buckets do Cloud Storage
Nesta seção, você aprende a criar um novo bucket. É possível usar um bucket atual, mas ele precisa estar na mesma região em que você planeja executar os jobs do AI Platform. Além disso, se ele não fizer parte do projeto que você está usando para executar o AI Platform Training, conceda acesso explícito às contas de serviço do AI Platform Training.
-
Especifique um nome para o novo bucket. Ele precisa ser único em todos os buckets no Cloud Storage.
BUCKET_NAME="YOUR_BUCKET_NAME"
Por exemplo, use o nome do seu projeto com
-aiplatform
anexado:PROJECT_ID=$(gcloud config list project --format "value(core.project)") BUCKET_NAME=${PROJECT_ID}-aiplatform
-
Verifique o nome do bucket que você criou.
echo $BUCKET_NAME
-
Selecione a região do bucket e defina a variável de ambiente
REGION
.Use a mesma região em que você planeja executar jobs do AI Platform Training. Veja as regiões disponíveis para os serviços do AI Platform Training.
Por exemplo, o código a seguir cria
REGION
e a define comous-central1
:REGION=us-central1
-
Crie o novo bucket:
gcloud storage buckets create gs://$BUCKET_NAME --location=$REGION
Organização do modelo em buckets
Organize a estrutura de pastas no bucket de forma a acomodar as muitas iterações do seu modelo.
- Coloque cada modelo salvo em um diretório próprio em separado dentro do bucket.
- Use carimbos de data/hora para nomear os diretórios no bucket.
Por exemplo, coloque o primeiro modelo em uma estrutura semelhante a
gs://your-bucket/your-model-DATE1/your-saved-model-file
. Para nomear os diretórios de cada iteração posterior do modelo, use um carimbo de data/hora atualizado. Por exemplo, gs://your-bucket/your-model-DATE2/your-saved-model-file
e assim por diante.
Como acessar o Cloud Storage durante o treinamento
Use um módulo do Python que possa ler o Cloud Storage no seu código de
treinamento, como o cliente Python para o Google Cloud
Storage,
o módulo
tf.io.gfile.GFile
do
TensorFlow ou o pandas
0.24.0 ou mais recente. O AI Platform Training cuida da autenticação.
Como usar um bucket do Cloud Storage de um projeto diferente
Veja nesta seção como configurar buckets do Cloud Storage de fora do projeto para que o AI Platform Training possa acessá-los.
Se você configurar o bucket do Cloud Storage no mesmo projeto em que o AI Platform Training é utilizado, suas contas de serviço do AI Platform Training já terão as permissões necessárias para acessar esse bucket.
As instruções abaixo se aplicam aos seguintes casos:
- Se não for possível usar um bucket do projeto. Por exemplo, quando um grande conjunto de dados é compartilhado por vários projetos.
- Se você usar vários buckets com o AI Platform Training, conceda acesso a cada conta de serviço da plataforma separadamente.
Etapa 1: receber informações necessárias do projeto na nuvem
Console
Abra a página "IAM" no console do Google Cloud.
A página "IAM" exibe uma lista de todos os principais com acesso ao seu projeto, junto aos respectivos papéis. O projeto do AI Platform Training tem várias contas de serviço. Localize a conta de serviço na lista que tem o papel de Agente de serviço do Cloud ML e copie o ID da conta de serviço, que é assim:
"service-111111111111@cloud-ml.google.com.iam.gserviceaccount.com".
Você precisa colar esse ID em uma página diferente no console do Google Cloud nas próximas etapas.
Linha de comando
Ao seguir as etapas desta seção, você recebe as informações do seu projeto do Google Cloud para alterar o controle de acesso da conta de serviço do AI Platform Training do projeto. É preciso armazenar os valores para uso posterior em variáveis de ambiente.
Use a Google Cloud CLI com seu projeto selecionado para receber o identificador do projeto:
PROJECT_ID=$(gcloud config list project --format "value(core.project)")
Use a
gcloud
para receber o token de acesso do projeto:AUTH_TOKEN=$(gcloud auth print-access-token)
Consiga as informações da conta de serviço solicitando a configuração do projeto no serviço 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'])")
Etapa 2: configurar o acesso ao bucket do Cloud Storage
Console
Abra a página "Storage" no console do Google Cloud.
Para selecionar o bucket do Cloud Storage que você usará para implantar os modelos, marque a caixa à esquerda do nome do bucket.
Clique no botão Mostrar o painel de informações no canto superior direito para exibir a guia Permissões.
Cole o código da conta de serviço no campo Adicionar principais. À direita desse campo, selecione os papéis que você quer, por exemplo, Leitor de bucket legado do Storage.
Se não tiver certeza sobre qual papel selecionar, é possível selecionar vários papéis para vê-los exibidos abaixo do campo Adicionar principais, cada um com uma breve descrição das respectivas permissões.
Para atribuir os papéis que você quiser à conta de serviço, clique no botão Adicionar à direita do campo Adicionar principais.
Linha de comando
Agora que você já tem as informações da conta de serviço e do projeto, é necessário atualizar as permissões de acesso do bucket do Cloud Storage. Estas etapas usam os mesmos nomes de variáveis da seção anterior.
Defina o nome do bucket em uma variável de ambiente chamada
BUCKET_NAME
:BUCKET_NAME="your_bucket_name"
Conceda à conta de serviço acesso de leitura a objetos no bucket do Cloud Storage:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectReader
Conceda acesso de gravação:
gcloud storage buckets add-iam-policy-binding gs://$BUCKET_NAME --member=user:$SVC_ACCOUNT --role=roles/storage.legacyObjectWriter
Para escolher um papel que será concedido à conta de serviço do AI Platform Training, consulte os papéis de IAM do Cloud Storage. Para mais informações gerais sobre como atualizar os papéis do IAM no Cloud Storage, consulte Como conceder acesso a uma conta de serviço em um recurso.
A seguir
- Veja o AI Platform Training em ação com o guia de primeiros passos.
- Saiba mais sobre como o AI Platform funciona.
- Prepare-se para treinar um modelo de machine learning.