Crie um notebook

Neste tutorial, vai usar o SDK do Vertex AI num bloco de notas do Jupyter para receber previsões através de uma instância do Vertex AI Workbench.

Esta secção mostra como criar um bloco de notas do Jupyter numa instância do Vertex AI Workbench. As instâncias do Vertex AI Workbench são ambientes de programação baseados no bloco de notas do Jupyter para todo o fluxo de trabalho de ciência de dados. As instâncias do Vertex AI Workbench são pré-embaladas com o JupyterLab e têm um conjunto pré-instalado de pacotes de aprendizagem avançada, incluindo suporte para as frameworks TensorFlow e PyTorch. Para mais informações, consulte o artigo Introdução às instâncias do Vertex AI Workbench.

Depois de criar um bloco de notas no Vertex AI Workbench, executa porções sequenciais de código Python para fazer a maior parte do trabalho de geração das previsões.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI and Notebooks APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Crie uma instância do Vertex AI Workbench

    Para criar uma instância do Vertex AI Workbench, faça o seguinte:

    1. Na Google Cloud consola, abra o seu Google Cloud projeto se ainda não estiver aberto.

    2. Na Google Cloud consola, aceda à página Instâncias do Vertex AI Workbench.

      Aceda a Instâncias

    3. Se for apresentada a opção para ativar a API Notebooks, clique em Ativar. O processo de ativação pode demorar alguns momentos a ser concluído.

    4. Clique em  Criar novo.

    5. Na caixa de diálogo Nova instância, em Nome, introduza um nome para a instância.

    6. Para Região, selecione us-central1 (Iowa).

    7. Para Zona, selecione us-central1-a.

    8. Clique em Criar. Se quiser saber mais sobre a sua instância, depois de esta aparecer na lista de instâncias, clique no respetivo nome para ver as propriedades.

    Prepare o seu bloco de notas

    A sua instância do Vertex AI Workbench já está autenticada para usar o seu projeto Google Cloud . No entanto, tem de instalar e inicializar o SDK do Vertex AI para Python. Esta secção explica estes passos.

    Depois de criar o bloco de notas, usa-o para introduzir e executar os fragmentos de código sequenciais neste tutorial. Cada fragmento de código tem de ser executado individualmente e por ordem.

    Crie e abra o seu notebook

    O bloco de notas é onde executa o código neste tutorial. É um ficheiro com a extensão .ipynb. Quando o cria, não tem título. Pode mudar o nome depois de o abrir. Para criar e abrir o seu notebook, faça o seguinte:

    1. Na Google Cloud consola, aceda à página Instâncias.

      Aceda a Instâncias

    2. Junto ao nome da instância, clique em Abrir JupyterLab.

      A sua instância do Vertex AI Workbench abre o ambiente do JupyterLab.

    3. No JupyterLab, selecione Ficheiro > Novo > Bloco de notas.

      O novo ficheiro de notebook é aberto e é apresentada a caixa de diálogo Selecionar kernel.

    4. Na caixa de diálogo Selecionar kernel, selecione o kernel Python 3.

    5. No painel de navegação do lado esquerdo do JupyterLab, encontre o seu novo bloco de notas, denominado Untitled.ipynb. Para mudar o nome, clique com o botão direito do rato no nome do bloco de notas, clique em Mudar o nome e introduza um novo nome.

    Instale o SDK Vertex AI para Python

    Depois de abrir o bloco de notas, tem de instalar o SDK do Vertex AI para Python. Usa o SDK do Vertex AI para Python para fazer chamadas à API Vertex AI que criam o seu conjunto de dados, criam o seu modelo, preparam e implementam o seu modelo e fazem previsões com o seu modelo. Para mais informações, consulte o artigo Use o SDK da Vertex AI para Python.

    Quando instala o SDK Vertex AI para Python, também são instalados outros Google Cloud SDKs dos quais depende. Dois desses SDKs são usados neste tutorial:

    • Cloud Storage: quando usa o SDK Vertex AI para Python para fazer chamadas à API Vertex AI, o Vertex AI armazena artefactos num contentor do Cloud Storage. O contentor é denominado contentor de preparação. Especifica o contentor de preparação quando inicializa o SDK Vertex AI para Python. Para mais informações, consulte o cliente Python para a API Google Cloud Storage.

    • BigQuery: o Vertex AI prepara o seu modelo com um conjunto de dados público do BigQuery. Tem de instalar o SDK do BigQuery para aceder e transferir o conjunto de dados usado neste tutorial. Para mais informações, consulte as bibliotecas cliente da API BigQuery.

    Para instalar o SDK do Vertex AI para Python e os respetivos SDKs dependentes, execute o seguinte código.

    # Install the Vertex AI SDK
    ! pip3 install --upgrade --quiet google-cloud-aiplatform
    

    A flag --quiet suprime o resultado para que apenas sejam apresentados erros, se existirem. O ponto de exclamação (!) indica que se trata de um comando de shell.

    Como este é o primeiro código que está a executar no seu novo bloco de notas, introduza-o na célula de código em branco na parte superior do bloco de notas. Depois de introduzir código numa célula de código, clique em  Executar as células selecionadas e avançar ou use o atalho de teclado Shift + Enter para executar o código.

    Execute o código para instalar o SDK.

    À medida que avança neste tutorial, execute o código na célula de código vazia que aparece automaticamente abaixo do código executado mais recentemente. Se quiser adicionar manualmente uma nova célula de código, clique no botão  Inserir uma célula abaixo do ficheiro do bloco de notas.

    Adicione uma nova célula de código.

    Defina o ID do projeto e a região

    Neste passo, define o ID do projeto e a região. Primeiro, atribui-as a variáveis para que possam ser facilmente referenciadas mais tarde neste tutorial. Em seguida, use o comando gcloud config para defini-los para a sua sessão Google Cloud . Posteriormente, usa-os e o URI do contentor do Cloud Storage para inicializar o SDK do Vertex AI para Python.

    Defina o ID do projeto

    Para definir o ID do projeto, faça o seguinte:

    1. Localize o seu Google Cloud ID do projeto. Para mais informações, consulte o artigo Encontre o ID do seu projeto.

    2. Execute o seguinte numa célula de código no seu bloco de notas. No código, substitua PROJECT_ID pelo ID do projeto que acabou de localizar. O resultado deste comando é Updated property [core/project].

      project_id = "PROJECT_ID"  # @param {type:"string"}
      # Set the project id
      ! gcloud config set project ${project_id}
      

    Defina a sua região

    Este tutorial usa a região us-central1. Para definir a sua região, faça o seguinte:

    1. Execute o seguinte código para definir a variável region que é usada pelo Vertex AI para us-central1. Este comando não gera resultados. Para mais informações, consulte Escolha a sua localização.

      region = "us-central1"  # @param {type: "string"}
      

    Crie um contentor do Cloud Storage

    Este tutorial requer um contentor do Cloud Storage usado pelo Vertex AI para organizar artefactos. O Vertex AI armazena os dados associados ao conjunto de dados que cria e modela recursos no contentor de preparação. Estes dados são retidos e estão disponíveis em todas as sessões. Neste tutorial, o Vertex AI também armazena o seu conjunto de dados no contentor de preparação. Especifica o seu contentor de preparação quando inicializa o SDK Vertex AI para Python.

    Cada nome de contentor do Cloud Storage tem de ser globalmente exclusivo. Se escolher um nome que já foi usado, o comando para criar o seu contentor falha. O código seguinte usa uma data/hora e o nome do seu projeto para criar um nome de contentor exclusivo. Acrescenta o nome do contentor a gs:// para criar o URI do seu contentor do Cloud Storage. O comando de shell echomostra o URI para que possa verificar se foi criado corretamente.

    1. Para definir o nome e o URI do seu contentor, execute o seguinte código. A última linha apresenta o URI do seu contentor do Cloud Storage.

      bucket_name = "bucket-name-placeholder"  # @param {type:"string"}
      bucket_uri = f"gs://{bucket_name}"
      
      from datetime import datetime
      timestamp = datetime.now().strftime("%Y%m%d%H%M%S")
      
      if bucket_name == "" or bucket_name is None or bucket_name == "bucket-name-placeholder":
          bucket_name = project_id + "aip-" + timestamp
          bucket_uri = "gs://" + bucket_name
      ! echo $bucket_uri
      
    2. Para criar um contentor através da biblioteca cliente do Cloud Storage e do URI do contentor, execute o seguinte código. Este código não gera resultados.

      from google.cloud import storage
      client = storage.Client(project=project_id)
      
      # Create a bucket
      bucket = client.create_bucket(bucket_name, location=region)
      
    3. Para verificar se o seu contentor foi criado com êxito, execute o seguinte comando:

      print("Bucket {} created.".format(bucket.name))
      

    Inicialize o SDK Vertex AI para Python

    Para inicializar o SDK Vertex AI para Python, primeiro importe a respetiva biblioteca, aiplatform. Em seguida, chama aiplatform.init e transmite valores para os seguintes parâmetros:

    • project - O project especifica que projeto usar quando usa o SDK Vertex AI para Python para fazer chamadas para a API Vertex AI. Google Cloud Neste tutorial, especifica o seu Google Cloud projeto com o respetivo nome. Também pode especificar o projeto com o respetivo número.

    • location: o location especifica que região usar quando fizer chamadas API. Google Cloud Se não especificar uma localização, o SDK Vertex AI para Python usa us-central1.

    • staging_bucket - O staging_bucket especifica que contentor do Cloud Storage é usado para preparar artefactos quando usa o SDK Vertex AI para Python. Especifica o contentor com um URI que começa com gs://. Neste tutorial, vai usar o URI criado anteriormente em Criar um contentor do Cloud Storage.

    Para definir o Google Cloud projeto, a região e o contentor de preparação, execute o seguinte comando. Este comando não gera resultados.

    from google.cloud import aiplatform
    
    # Initialize the Vertex AI SDK
    aiplatform.init(project=project_id, location=region, staging_bucket=bucket_uri)
    

    Inicialize o BigQuery

    Este tutorial usa um conjunto de dados públicos do BigQuery de pinguins para preparar um modelo. Depois de o Vertex AI preparar o modelo, especifica parâmetros que representam caraterísticas dos pinguins, e o modelo usa essas caraterísticas para prever a espécie de pinguim que representam. Para mais informações sobre os conjuntos de dados públicos, consulte o artigo Conjuntos de dados públicos do BigQuery.

    Antes de usar o conjunto de dados do BigQuery, tem de inicializar o BigQuery com o ID do seu projeto. Para o fazer, execute o seguinte comando. Este comando não gera resultados.

    from google.cloud import bigquery
    
    # Set up BigQuery client
    bq_client = bigquery.Client(project=project_id)