Crie uma app de estatísticas de ocupação com a previsão do BigQuery


O Vertex AI Vision é uma plataforma com tecnologia de IA que pode usar para carregar, analisar e armazenar dados de vídeo . O Vertex AI Vision permite-lhe criar e implementar aplicações de IA. Pode criar soluções de Vertex AI Vision ponto a ponto tirando partido da integração do Vertex AI Vision com outros componentes do produto.

Para começar a implementar soluções com a plataforma Vertex AI Vision, reveja os seguintes conceitos e componentes do Vertex AI Vision:

  • Streams: representam uma camada de streaming de vídeo da sua solução. A origem da stream pode ser um vídeo em direto (por exemplo, uma câmara IP) ou um ficheiro de vídeo (por exemplo, um ficheiro MP4).

  • Aplicações: ative a ligação entre uma stream e um processador de IA para realizar uma operação de aprendizagem automática no vídeo. Por exemplo, pode associar um stream de vídeo a um modelo de IA que conta as pessoas que passam em frente ao mesmo.

  • Destino de saída da app: envie dados analisados para um destino de armazenamento (Media Warehouse do Vertex AI Vision ou BigQuery) ou receba dados em direto. O armazenamento no Media Warehouse do Vertex AI Vision permite-lhe pesquisar o resultado da análise e os metadados dos processadores de IA usados em dados das streams carregadas. O armazenamento no BigQuery permite-lhe usar as capacidades de estatísticas offline do produto. Se receber diretamente o resultado da app, pode usar as estatísticas para informar instantaneamente as decisões de negócio. Para mais informações, consulte o artigo Vista geral: associe o resultado da app a um destino de dados.

Objetivos

Este tutorial mostra como fazer o seguinte:

  • Crie um conjunto de dados e uma tabela do BigQuery.
  • Crie uma app de estatísticas de ocupação do Vertex AI Vision que se ligue ao BigQuery.
  • Crie uma instância de VM do Compute Engine e configure o respetivo ambiente.
  • Transmita vídeo da instância de VM para a app.
  • Use o resultado da app armazenado para criar um modelo de previsão com o BigQuery ML.

Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

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 BigQuery, Compute Engine and Vision AI 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. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. Install the Google Cloud CLI.

  8. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  9. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  10. 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

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

  12. Enable the BigQuery, Compute Engine and Vision AI 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

  13. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), BigQuery > BigQuery Data Owner, Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  15. Install the Google Cloud CLI.

  16. Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.

  17. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  18. Função necessária apenas se copiar um ficheiro de vídeo de exemplo de um contentor do Cloud Storage.

    Configure o BigQuery para receber dados

    Para poder receber dados e fazer previsões a partir dos dados da app de estatísticas, tem de criar um conjunto de dados e uma tabela do BigQuery que correspondam às informações processadas.

    Crie um conjunto de dados

    Antes de poder criar uma tabela do BigQuery, tem de criar um conjunto de dados para receber as informações analisadas da sua app.

    Consola

    1. Abra a página do BigQuery na Google Cloud consola.

      Aceda à página do BigQuery

    2. No painel Explorador, selecione o projeto onde quer criar o conjunto de dados.

    3. Expanda a opção Ações e clique em Criar conjunto de dados.

    4. Na página Criar conjunto de dados:

      • Para o ID do conjunto de dados, introduza occupancy_dataset.
      • Para Localização de dados, escolha uma localização geográfica para o conjunto de dados. Depois de criar um conjunto de dados, não é possível alterar a localização.

      • Em Validade predefinida da tabela, escolha uma das seguintes opções:

        • Nunca: (predefinição) as tabelas criadas no conjunto de dados nunca são eliminadas automaticamente. Tem de os eliminar manualmente.
        • Número de dias após a criação da tabela: este valor determina quando uma tabela criada recentemente no conjunto de dados é eliminada. Este valor é aplicado se não definir uma data de validade da tabela quando a tabela é criada.

      • Clique em Criar conjunto de dados.

    Crie uma tabela do BigQuery

    Consola

    1. Na Google Cloud consola, aceda à página BigQuery.

      Aceda ao BigQuery

    2. No painel Explorador, expanda o seu projeto e, de seguida, selecione o conjunto de dados occupancy_dataset.
    3. Na secção Informações do conjunto de dados, clique em Criar tabela.
    4. No painel Criar tabela, especifique os seguintes detalhes:
      1. Na secção Origem, selecione Tabela vazia na lista Criar tabela a partir de.
      2. Na secção Destino, especifique os seguintes detalhes:
        1. Verifique se o campo Conjunto de dados occupancy_dataset está especificado.
        2. No campo Tabela, introduza occupancy_dataset_table.
        3. Verifique se o campo Tipo de tabela está definido como Tabela nativa.
      3. Na secção Esquema, introduza a definição do esquema. Pode introduzir informações de esquema manualmente da seguinte forma:
        • Clique em Editar como texto e cole o seguinte esquema de matriz JSON. Quando usa uma matriz JSON, gera o esquema através do mesmo processo que usa para criar um ficheiro de esquema JSON.
          [
              {
                "name": "ingestion_time",
                "type": "TIMESTAMP",
                "mode": "REQUIRED"
              },
              {
                "name": "application",
                "type": "STRING",
                "mode": "REQUIRED"
              },
              {
                "name": "instance",
                "type": "STRING",
                "mode": "REQUIRED"
              },
              {
                "name": "node",
                "type": "STRING",
                "mode": "REQUIRED"
              },
              {
                "name": "annotation",
                "type": "STRING"
              }
          ]
      4. Clique em Criar tabela.

    Crie uma aplicação de contagem de ocupação

    Depois de configurar o conjunto de dados e a tabela do BigQuery, pode criar a app que processa os dados enviados para estes recursos do BigQuery.

    Crie uma app vazia

    Antes de poder preencher o gráfico de apps, tem de criar uma app vazia.

    Consola

    Crie uma app na Google Cloud consola.

    1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

      Aceda ao separador Aplicações

    2. Clique no botão Criar.

    3. Introduza occupancy-bq-app como o nome da app e escolha a sua região.

    4. Clique em Criar.

    Adicione nós de componentes de apps

    Depois de criar a aplicação vazia, pode adicionar os três nós ao gráfico da app:

    1. Nó de carregamento: o recurso de stream que carrega dados enviados a partir de uma instância de VM do Compute Engine que criar.
    2. Nó de processamento: o modelo de estatísticas de ocupação que atua sobre os dados carregados.
    3. Nó do BigQuery: o nó do conetor que permite à sua app armazenar metadados na sua tabela do BigQuery.

    Consola

    Adicione nós de componentes à sua app na consola.

    1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

      Aceda ao separador Aplicações

    2. Na linha occupancy-bq-app, selecione Ver gráfico. Isto permite aceder à visualização do gráfico do pipeline de processamento.

    Adicione um nó de carregamento de dados

    1. Para adicionar um nó de fluxo de entrada, selecione a opção Streams na secção Connectors do menu lateral.

    2. Na secção Origem do menu Stream que é aberto, selecione Adicionar streams.

    3. No menu Adicionar streams, escolha Registar novas streams e adicione occupancy-bq-stream como o nome da stream.

    4. Para adicionar a stream ao gráfico de apps, clique em Adicionar streams.

    Adicione um nó de tratamento de dados

    1. Para adicionar o nó do modelo de contagem de ocupação, selecione a opção Estatísticas de ocupação na secção Modelos especializados do menu lateral.

    2. Deixe as seleções predefinidas Pessoas e Veículos.

    Adicione um nó do BigQuery

    1. Para adicionar o nó de destino de saída (armazenamento), selecione a opção BigQuery na secção Conetores do menu lateral.

    2. No menu BigQuery, pesquise occupancy_dataset_table e selecione a sua tabela.

    3. Na secção Armazenar metadados de:, selecione Streams e Estatísticas de ocupação.

    Implemente a sua app para utilização

    Depois de criar a sua app integral com todos os componentes necessários, o último passo para usar a app é implementá-la.

    Consola

    1. Abra o separador Aplicações do painel de controlo do Vertex AI Vision.

      Aceda ao separador Aplicações

    2. Selecione Ver gráfico junto à app occupancy-bq-app na lista.

    3. Na página do criador de gráficos de aplicações, clique no botão Implementar.

    4. Na caixa de diálogo de confirmação seguinte, selecione Implementar.

      A operação de implementação pode demorar vários minutos a ser concluída. Após a conclusão da implementação, aparecem marcas de verificação verdes junto aos nós.

    Configure uma máquina remota para fazer stream de vídeo

    Agora que tem uma app de contagem de ocupação implementada pronta para receber, processar e armazenar dados de streaming numa tabela do BigQuery, tem de fazer stream de dados de vídeo para a app.

    Neste tutorial, cria uma instância de VM do Compute Engine que aloja um vídeo e envia esses dados de streaming de vídeo a partir da VM.

    Crie uma VM do Linux

    O primeiro passo para enviar vídeo a partir de uma instância de VM do Compute Engine é criar a instância de VM.

    Consola

    1. Na consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Selecione o projeto e clique em Continuar.

    3. Clique em Criar instância.

    4. Especifique um Nome para a VM. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.

    5. Opcional: altere a zona desta VM. O Compute Engine aleatoriza a lista de zonas em cada região para incentivar a utilização em várias zonas.

    6. Aceite as restantes opções predefinidas. Para mais informações sobre estas opções, consulte o artigo Crie e inicie uma VM.

    7. Para criar e iniciar a VM, clique em Criar.

    Configure o ambiente de VM

    Depois de iniciar a VM, pode usar a consola para estabelecer uma ligação SSH no seu navegador. Depois de estabelecer esta ligação, pode transferir a ferramenta de linha de comandos vaictl para carregar vídeos para a sua app.

    Consola

    Estabeleça uma ligação SSH à sua VM

    1. Na consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Na secção Associar da linha de instância que criou, clique em SSH. Esta ação abre uma ligação SSH numa nova janela do navegador.

      A opção SSH na IU

    Transfira a ferramenta de linha de comandos vaictl

    1. Na janela SSH no navegador, transfira a ferramenta de linha de comandos do Vertex AI Vision (vaictl) através do seguinte comando:

      wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
      
    2. Instale a ferramenta de linha de comandos executando o seguinte comando:

      sudo apt install ./visionai_0.0-5_amd64.deb
      
    3. Pode testar a instalação executando o seguinte comando:

      vaictl --help
      

    Carregue um ficheiro de vídeo para a sua app

    Depois de configurar o ambiente de VM, pode copiar um ficheiro de vídeo de exemplo e, em seguida, usar vaictl para transmitir os dados de vídeo para a sua app de contagem de ocupação.

    Depois de enviar este comando, tem de permitir que sejam transmitidas várias horas de dados antes de avançar para o passo seguinte.

    SSH no navegador

    Copie um vídeo de exemplo para a sua VM

    1. Na janela SSH no navegador da sua VM, copie um vídeo de exemplo com o seguinte comando gcloud storage cp. Substitua a seguinte variável:
      • SOURCE: a localização de um ficheiro de vídeo a usar. Pode usar a sua própria origem de ficheiro de vídeo (por exemplo, gs://BUCKET_NAME/FILENAME.mp4) ou usar um dos vídeos de exemplo:
        • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (vídeo com pessoas e veículos, origem do vídeo)
        • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (vídeo apenas com veículos, origem do vídeo)
      gcloud storage cp SOURCE .

    Faça stream de vídeo a partir da VM e carregue dados na sua app

    1. Para enviar este ficheiro de vídeo local para o fluxo de entrada da app, use o seguinte comando. Tem de usar as seguintes substituições de variáveis:
      • PROJECT_ID: o ID do seu Google Cloud projeto.
      • LOCATION_ID: o ID da sua localização. Por exemplo, us-central1. Mais informações.
      • LOCAL_FILE.EXT: o nome do ficheiro de um ficheiro de vídeo local. Por exemplo, my-video.mp4.
      • Sinalizador --loop: opcional. Faz um ciclo dos dados de ficheiros para simular o streaming.

      Este comando envia um ficheiro de vídeo para uma stream. Se usar a flag --loop, o vídeo é repetido no stream até parar o comando:

      vaictl -p PROJECT_ID \
          -l LOCATION_ID \
          -c application-cluster-0 \
          --service-endpoint visionai.googleapis.com \
      send video-file to streams 'occupancy-bq-stream' --file-path LOCAL_FILE.EXT --loop

    Pode demorar cerca de 100 segundos entre o início da operação de carregamento vaictl e a apresentação do vídeo no painel de controlo.

    Depois de a ingestão de streams estar disponível, pode ver o feed de vídeo no separador Streams do painel de controlo do Vertex AI Vision selecionando a stream occupancy-bq-stream.

    Aceda ao separador Streams

    Crie um modelo de previsão com o BigQuery ML

    Agora, tem uma app funcional que armazena metadados no BigQuery. Depois de ter algumas horas de dados transmitidos em stream para a sua app, pode começar a criar um modelo de previsão com o BigQuery ML.

    Opcional: execute uma consulta de ocupação

    Pode ver os dados produzidos pela app armazenados na tabela executando uma consulta simples.

    Consola

    1. Na Google Cloud consola, abra a página do BigQuery.

      Aceda ao BigQuery

    2. Selecione Expandir junto a occupancy_dataset e selecione occupancy_dataset_table.

    3. Na vista de detalhes da tabela, clique em Compor nova consulta.

      Componha uma nova consulta

    4. Introduza a seguinte consulta SQL padrão da Google na área de texto do editor de consultas:

      SELECT
       *
      FROM (
       SELECT
         TIMESTAMP_TRUNC(PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"', JSON_QUERY(annotation,
               "$.currentTime")), MINUTE) currentTime,
         CAST(JSON_QUERY(annotation,
             '$.stats.fullFrameCount[0].count') AS INT64) AS count,
         JSON_QUERY(annotation,
           '$.stats.fullFrameCount[0].entity.labelString') AS type
       FROM
         `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
      WHERE
       count IS NOT NULL
    5. Opcional: para alterar a localização do tratamento de dados, clique em Mais e, de seguida, em Definições de consulta. Em Localização de processamento, clique em Selecionar automaticamente e escolha a localização dos seus dados. Por último, clique em Guardar para atualizar as definições de consulta.

    6. Clique em Executar.

    Esta ação cria uma tarefa de consulta que escreve o resultado numa tabela temporária.

    A execução desta consulta produz uma tabela com informações de tempo e contagem quando as pessoas estão presentes no vídeo.

    currentTime contagem escrever
    2022-08-10 16:17:00 UTC 2 "Person"
    2022-08-10 16:17:00 UTC 2 "Person"
    2022-08-10 16:17:00 UTC 4 "Person"
    2022-08-10 16:17:00 UTC 1 "Person"
    2022-08-10 16:17:00 UTC 5 "Person"
    2022-08-10 16:17:00 UTC 2 "Person"

    Crie uma vista para a preparação

    Depois de ver os dados armazenados na tabela, pode criar uma vista e, em seguida, inspecionar o conteúdo da tabela resultante. Use estes dados de visualização para preparar o seu modelo de previsão.

    Pode criar uma vista compondo uma consulta SQL que é usada para definir os dados acessíveis à vista. A consulta SQL tem de consistir numa declaração SELECT. Para mais informações acerca das vistas do BigQuery, consulte o artigo Introdução às vistas.

    Para criar uma vista de tabela de dados de treino:

    Consola

    1. Na Google Cloud consola, abra a página do BigQuery.

      Aceda ao BigQuery

    2. Selecione Expandir junto a occupancy_dataset e selecione occupancy_dataset_table.

    3. Na vista de detalhes da tabela, clique em Compor nova consulta.

      Componha uma nova consulta

    4. Introduza a seguinte consulta SQL padrão da Google na área de texto do editor de consultas:

      CREATE VIEW `PROJECT_ID.occupancy_dataset.forecast_training_data` AS (
        WITH
          raw_counts AS (
          SELECT
            *
          FROM (
            SELECT
              TIMESTAMP_TRUNC(
                PARSE_TIMESTAMP('"%Y-%m-%dT%H:%M:%E*SZ"',
                                JSON_QUERY(annotation,
                                            "$.currentTime")),
                              MINUTE) AS currentTime,
              CAST(JSON_QUERY(annotation,
                  '$.stats.fullFrameCount[0].count') AS INT64) AS count,
              JSON_QUERY(annotation,
                '$.stats.fullFrameCount[0].entity.labelString') AS type
            FROM
              `PROJECT_ID.occupancy_dataset.occupancy_dataset_table` )
          WHERE
            count IS NOT NULL )
        SELECT
          currentTime,
          SUM(count) AS total_count,
          type
        FROM
          raw_counts
        GROUP BY
          currentTime, type)
    5. Clique em Executar.

    Opcional: consulte a vista

    Execute a seguinte consulta para ver os resultados dos novos dados de preparação de visualizações:

    Consola

    1. Na occupancy_dataset_table vista de detalhes da tabela, clique em Redigir nova consulta.

    2. Introduza a seguinte consulta SQL padrão da Google na área de texto do editor de consultas:

      SELECT
       *
      FROM
        `PROJECT_ID.occupancy_dataset.forecast_training_data`
      ORDER BY
       currentTime, type
      LIMIT
       100
    3. Clique em Executar.

    Isto devolve um resultado ordenado por tempo com o seguinte aspeto:

    currentTime total_count escrever
    2022-08-10 16:17:00 UTC 129 "Person"
    2022-08-10 16:18:00 UTC 150 "Person"
    2022-08-10 16:19:00 UTC 80 "Person"
    2022-08-10 16:20:00 UTC 129 "Person"
    2022-08-10 16:21:00 UTC 142 "Person"
    2022-08-10 16:22:00 UTC 71 "Person"
    2022-08-10 16:22:00 UTC 2 "Veículo"

    Faça o treino do modelo de previsão com o BigQuery ML

    Agora que tem dados numa vista para servirem como dados de preparação, pode preparar o modelo de previsão com o BigQuery ML.

    Consola

    1. Na occupancy_dataset_table vista de detalhes da tabela, clique em Redigir nova consulta.

    2. Introduza a seguinte consulta SQL padrão da Google na área de texto do editor de consultas:

      CREATE OR REPLACE MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`
        OPTIONS( MODEL_TYPE = "ARIMA_PLUS",
          TIME_SERIES_TIMESTAMP_COL = "currentTime",
          TIME_SERIES_DATA_COL = "total_count",
          TIME_SERIES_ID_COL = "type" ) AS
      SELECT
        *
      FROM
        `PROJECT_ID.occupancy_dataset.forecast_training_data`
    3. Clique em Executar.

    A consulta demora vários minutos a ser concluída. Após a conclusão da primeira iteração, o seu modelo (occupancy_forecast_model) aparece no painel de navegação. Uma vez que a consulta usa uma declaração CREATE MODEL para criar um modelo, não vê os resultados da consulta.

    Pode observar o modelo à medida que é preparado, consultando o separador Estatísticas do modelo. Assim que a primeira iteração estiver concluída, o separador é atualizado. As estatísticas continuam a ser atualizadas à medida que cada iteração é concluída.

    Obtenha uma previsão de ocupação com o BigQuery

    Depois de a preparação do modelo estar concluída, pode obter uma previsão do modelo sobre a contagem de ocupação.

    A seguinte consulta ML.FORECAST usa a entrada da função HORIZON para fazer uma previsão dos próximos 60 minutos.

    Consola

    1. Na occupancy_dataset_table vista de detalhes da tabela, clique em Redigir nova consulta.

    2. Introduza a seguinte consulta SQL padrão da Google na área de texto do editor de consultas:

      SELECT
        *
      FROM
        ML.FORECAST(MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`,
        STRUCT(60 AS HORIZON))
    3. Clique em Executar.

    O modelo produz previsões em forecast_value para datas/horas futuras em que o tipo é "Person". Por exemplo, a 2022-08-12 às 11:06:00, o modelo prevê que haverá ~15,26 "Pessoas" no total.

    escrever forecast_timestamp forecast_value standard_error confidence_level prediction_interval_lower_bound prediction_interval_upper_bound
    "Person" 2022-08-12 11:06:00 UTC 15.2621986941298 2,56470066 0,95 10,2444693 20.2799280
    "Person" 2022-08-12 11:07:00 UTC 13,235260043001354 3,19379743 0,95 6,98672921 19.4837908
    "Person" 2022-08-12 11:08:00 UTC 16,257331475128712 3,87581375 0,95 8,67446430 23,8401986
    "Person" 2022-08-12 11:09:00 UTC 31.432229611853742 4,24905293 0,95 23.1191356 39.7453236
    "Person" 2022-08-12 11:10:00 UTC 26.199214148193725 4,26157413 0,95 17,8616229 34.5368053
    "Person" 2022-08-12 11:11:00 UTC 26.211573546307324 4,27962512 0,95 17,8386663 34.5844807

    Limpar

    Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.

    Elimine o projeto

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Elimine recursos individuais

    Elimine uma instância de VM do Compute Engine

    1. In the Google Cloud console, go to the VM instances page.

      Go to VM instances

    2. Select the checkbox for the instance that you want to delete.
    3. To delete the instance, click More actions, click Delete, and then follow the instructions.

    Elimine o conjunto de dados do BigQuery

    1. In the Google Cloud console, open the BigQuery page.

      Go to BigQuery

    2. Select expand next to your project and locate your occupancy_dataset dataset.
    3. To delete the dataset, click Actions, click Delete, and then follow the instructions.

    Elimine uma stream

    1. In the Google Cloud console, go to the Streams page.

      Go to the Streams tab

    2. Locate your occupancy-bq-stream stream.
    3. To delete the stream, click Actions, click Delete stream, and then follow the instructions.

    Elimine uma app

    1. In the Google Cloud console, go to the Applications page.

      Go to the Applications tab

    2. Locate your occupancy-bq-app app.
    3. To delete the app, click Actions, click Delete application, and then follow the instructions.

    O que se segue?