Crear una aplicación de analíticas de ocupación con las previsiones de BigQuery


Vertex AI Vision es una plataforma basada en IA que puedes usar para ingerir, analizar y almacenar datos de vídeo . Vertex AI Vision te permite crear y desplegar aplicaciones de IA. Puedes crear soluciones integrales de Vertex AI Vision aprovechando la integración de Vertex AI Vision con otros componentes del producto.

Para empezar a implementar soluciones con la plataforma Vertex AI Vision, consulta los siguientes conceptos y componentes de Vertex AI Vision:

  • Streams: representan una capa de streaming de vídeo de tu solución. La fuente de la emisión puede ser un vídeo en directo (por ejemplo, una cámara IP) o un archivo de vídeo (por ejemplo, un archivo MP4).

  • Aplicaciones: permite la conexión entre una emisión y un procesador de IA para realizar una operación de aprendizaje automático en el vídeo. Por ejemplo, puedes conectar una transmisión de cámara a un modelo de IA que cuente las personas que pasan por delante.

  • Destino de los resultados de la aplicación: envía los datos analizados a un destino de almacenamiento (Media Warehouse de Vertex AI Vision o BigQuery) o recibe datos en directo. Almacenar datos en Media Warehouse de Vertex AI Vision te permite buscar resultados de análisis y metadatos de los procesadores de IA usados en los datos de los flujos insertados. Si almacenas los datos en BigQuery, podrás usar las funciones de analíticas offline del producto. Si recibes directamente los resultados de la aplicación, puedes usar las estadísticas para tomar decisiones empresariales al instante. Para obtener más información, consulta el artículo Descripción general: conectar la salida de una aplicación a un destino de datos.

Objetivos

En este tutorial te explicamos cómo hacer lo siguiente:

  • Crea un conjunto de datos y una tabla de BigQuery.
  • Crea una aplicación de analíticas de ocupación de Vertex AI Vision que se conecte a BigQuery.
  • Crea una instancia de VM de Compute Engine y configura su entorno.
  • Transmite vídeo desde la instancia de VM a la aplicación.
  • Usa la salida de la aplicación almacenada para crear un modelo de previsión con BigQuery ML.

Costes

En este documento, se utilizan los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costes basada en el uso previsto, utiliza la calculadora de precios.

Los usuarios nuevos Google Cloud pueden disfrutar de una prueba gratuita.

Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.

Antes de empezar

  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. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  9. Para inicializar gcloud CLI, ejecuta el siguiente 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. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  17. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  18. Este rol solo es necesario si copias un archivo de vídeo de ejemplo de un segmento de Cloud Storage.

    Configurar BigQuery para recibir datos

    Para poder recibir datos y hacer predicciones a partir de los datos de la aplicación de analíticas, debes crear un conjunto de datos y una tabla de BigQuery que coincidan con la información procesada.

    Crear conjunto de datos

    Antes de crear una tabla de BigQuery, debes crear un conjunto de datos para recibir la información analizada de tu aplicación.

    Consola

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

      Ir a la página de BigQuery

    2. En el panel Explorador, selecciona el proyecto en el que quieras crear el conjunto de datos.

    3. Abre la opción Acciones y haz clic en Crear conjunto de datos.

    4. En la página Crear conjunto de datos, haz lo siguiente:

      • En ID del conjunto de datos, introduce occupancy_dataset.
      • En Ubicación de los datos, elige una ubicación geográfica para el conjunto de datos. Una vez creado el conjunto de datos, no se puede cambiar la ubicación.

      • En Vencimiento predeterminado de la tabla, elija una de las siguientes opciones:

        • Nunca: (opción predeterminada) las tablas creadas en el conjunto de datos no se eliminan automáticamente. Debes eliminarlos manualmente.
        • Número de días después de la creación de la tabla: este valor determina cuándo se elimina una tabla recién creada en el conjunto de datos. Este valor se aplica si no defines una caducidad de tabla cuando se crea la tabla.

      • Haz clic en Crear conjunto de datos.

    Crear una tabla de BigQuery

    Consola

    1. En la Google Cloud consola, ve a la página BigQuery.

      Ir a BigQuery

    2. En el panel Explorador, despliega tu proyecto y, a continuación, selecciona el conjunto de datos occupancy_dataset.
    3. En la sección Información del conjunto de datos, haz clic en Crear tabla.
    4. En el panel Crear tabla, especifica los siguientes detalles:
      1. En la sección Fuente, selecciona Tabla vacía en la lista Crear tabla a partir de.
      2. En la sección Destino, especifica los siguientes detalles:
        1. Comprueba que en el campo Conjunto de datos se haya especificado occupancy_dataset.
        2. En el campo Tabla, introduce occupancy_dataset_table.
        3. Verifica que el campo Tipo de tabla sea Tabla nativa.
      3. En la sección Schema (Esquema), introduce la definición de schema. Puede introducir la información del esquema manualmente siguiendo estos pasos:
        • Haz clic en Editar como texto y pega el siguiente esquema de matriz JSON. Cuando usas una matriz JSON, generas el esquema siguiendo el mismo proceso que para crear un archivo 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. Haz clic en Crear tabla.

    Crear una aplicación de recuento de ocupación

    Una vez que haya configurado su conjunto de datos y su tabla de BigQuery, podrá crear la aplicación que procese los datos enviados a estos recursos de BigQuery.

    Crear una aplicación vacía

    Antes de rellenar el gráfico de aplicaciones, debes crear una aplicación vacía.

    Consola

    Crea una aplicación en la Google Cloud consola.

    1. Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.

      Ve a la pestaña Aplicaciones.

    2. Haz clic en el botón Crear.

    3. Introduce occupancy-bq-app como nombre de la aplicación y elige tu región.

    4. Haz clic en Crear.

    Añadir nodos de componentes de aplicaciones

    Una vez que hayas creado la aplicación vacía, podrás añadir los tres nodos al gráfico de la aplicación:

    1. Nodo de ingestión: recurso de flujo que ingiere los datos enviados desde una instancia de VM de Compute Engine que creas.
    2. Nodo de procesamiento: el modelo de analíticas de ocupación que actúa sobre los datos ingeridos.
    3. Nodo de BigQuery: el nodo del conector que permite a tu aplicación almacenar metadatos en tu tabla de BigQuery.

    Consola

    Añade nodos de componentes a tu aplicación en la consola.

    1. Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.

      Ve a la pestaña Aplicaciones.

    2. En la línea occupancy-bq-app, selecciona Ver gráfico. De esta forma, accederás a la visualización del gráfico de la canalización de procesamiento.

    Añadir un nodo de ingestión de datos

    1. Para añadir un nodo de flujo de entrada, selecciona la opción Streams (Flujos) en la sección Connectors (Conectores) del menú lateral.

    2. En la sección Fuente del menú Stream que se abre, selecciona Añadir streams.

    3. En el menú Añadir emisiones, elige Registrar nuevas emisiones y añade occupancy-bq-stream como nombre de la emisión.

    4. Para añadir el flujo al gráfico de la aplicación, haz clic en Añadir flujos.

    Añadir un nodo de procesamiento de datos

    1. Para añadir el nodo del modelo de recuento de ocupación, seleccione la opción Analíticas de ocupación en la sección Modelos especializados del menú lateral.

    2. Deja seleccionadas las opciones predeterminadas: Personas y Vehículos.

    Añadir un nodo de BigQuery

    1. Para añadir el nodo de destino de salida (almacenamiento), selecciona la opción BigQuery en la sección Conectores del menú lateral.

    2. En el menú BigQuery, busca occupancy_dataset_table y selecciona tu tabla.

    3. En la sección Almacenar metadatos de:, selecciona las opciones Streams y Occupancy analytics.

    Desplegar una aplicación para usarla

    Una vez que hayas creado tu aplicación integral con todos los componentes necesarios, el último paso para usarla es implementarla.

    Consola

    1. Abre la pestaña Aplicaciones del panel de control de Vertex AI Vision.

      Ve a la pestaña Aplicaciones.

    2. Selecciona Ver gráfico junto a la aplicación occupancy-bq-app de la lista.

    3. En la página del creador de gráficos de aplicaciones, haz clic en el botón Implementar.

    4. En el cuadro de diálogo de confirmación que aparece, selecciona Implementar.

      La operación de implementación puede tardar varios minutos en completarse. Cuando finalice la implementación, aparecerán marcas de verificación verdes junto a los nodos.

    Configurar un equipo remoto para reproducir vídeo en streaming

    Ahora que tienes una aplicación de recuento de ocupación implementada y lista para recibir, procesar y almacenar datos de streaming en una tabla de BigQuery, debes transmitir datos de vídeo a la aplicación.

    En este tutorial, crearás una instancia de VM de Compute Engine que aloje un vídeo y enviarás los datos de ese vídeo en streaming desde la VM.

    Crea una máquina virtual de Linux

    El primer paso para enviar vídeo desde una instancia de VM de Compute Engine es crear la instancia de VM.

    Consola

    1. En la consola, ve a la página Instancias de VM.

      Ir a instancias de VM

    2. Selecciona el proyecto y haz clic en Continuar.

    3. Haz clic en Crear instancia.

    4. Especifica un nombre para la máquina virtual. Para obtener más información, consulta el artículo sobre las convenciones para asignar nombres de recursos.

    5. Opcional: Cambia la zona de esta VM. Compute Engine aleatoriza la lista de zonas de cada región para fomentar el uso en varias zonas.

    6. Acepta las opciones predeterminadas restantes. Para obtener más información sobre estas opciones, consulta Crear e iniciar una VM.

    7. Para crear e iniciar la VM, haz clic en Crear.

    Configurar el entorno de la máquina virtual

    Una vez que se haya iniciado la máquina virtual, puedes usar la consola para establecer una conexión SSH en tu navegador. Una vez que hayas establecido esta conexión, podrás descargar la herramienta de línea de comandos vaictl para insertar vídeos en tu aplicación.

    Consola

    Establecer una conexión SSH con tu VM

    1. En la consola, ve a la página Instancias de VM.

      Ir a instancias de VM

    2. En la sección Conectar de la línea de la instancia que has creado, haz clic en SSH. Se abrirá una conexión SSH en una nueva ventana del navegador.

      La opción SSH en la interfaz de usuario

    Descarga la herramienta de línea de comandos vaictl.

    1. En la ventana SSH en el navegador, descarga la herramienta de línea de comandos Vertex AI Vision (vaictl) con el siguiente comando:

      wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
      
    2. Instala la herramienta de línea de comandos ejecutando el siguiente comando:

      sudo apt install ./visionai_0.0-5_amd64.deb
      
    3. Para probar la instalación, ejecuta el siguiente comando:

      vaictl --help
      

    Ingerir un archivo de vídeo en tu aplicación

    Una vez que hayas configurado tu entorno de VM, puedes copiar un archivo de vídeo de muestra y, a continuación, usar vaictl para transmitir los datos del vídeo a tu aplicación de recuento de ocupación.

    Después de enviar este comando, debes dejar que se transmitan datos durante varias horas antes de pasar al siguiente paso.

    SSH en el navegador

    Copiar un vídeo de muestra en tu VM

    1. En la ventana SSH en el navegador de tu máquina virtual, copia un vídeo de ejemplo con el siguiente comando gcloud storage cp. Sustituye la siguiente variable:
      • SOURCE: la ubicación del archivo de vídeo que se va a usar. Puedes usar tu propio archivo de vídeo (por ejemplo, gs://BUCKET_NAME/FILENAME.mp4) o uno de los vídeos de muestra:
        • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (vídeo con personas y vehículos, fuente de vídeo)
        • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (vídeo con vehículos únicamente, fuente de vídeo)
      gcloud storage cp SOURCE .

    Transmitir vídeo desde una máquina virtual e ingerir datos en tu aplicación

    1. Para enviar este archivo de vídeo local al flujo de entrada de la aplicación, usa el siguiente comando. Debes realizar las siguientes sustituciones de variables:
      • PROJECT_ID: tu ID de proyecto Google Cloud .
      • LOCATION_ID: tu ID de ubicación. Por ejemplo, us-central1. Más información
      • LOCAL_FILE.EXT: el nombre de archivo de un archivo de vídeo local. Por ejemplo, my-video.mp4.
      • Marca --loop: opcional. Repite los datos del archivo para simular la transmisión.

      Este comando transmite un archivo de vídeo a una emisión. Si usas la marca --loop, el vídeo se repetirá en el stream hasta que detengas el 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

    Pueden pasar unos 100 segundos entre el inicio de la operación de ingesta vaictl y la aparición del vídeo en el panel de control.

    Cuando esté disponible la ingesta de la emisión, podrás ver el vídeo en la pestaña Emisiones del panel de control de Vertex AI Vision. Para ello, selecciona la emisión occupancy-bq-stream.

    Ve a la pestaña Streams.

    Crear un modelo de previsión con BigQuery ML

    Ahora tienes una aplicación que almacena metadatos en BigQuery. Cuando hayan transcurrido un par de horas desde que se empezaron a enviar datos a tu aplicación, podrás empezar a crear un modelo de previsión con BigQuery ML.

    Opcional: Ejecutar una consulta de ocupación

    Para ver los datos generados por la aplicación que se han almacenado en la tabla, ejecuta una consulta sencilla.

    Consola

    1. En la Google Cloud consola, abre la página de BigQuery.

      Ir a BigQuery

    2. Selecciona Ampliar junto a occupancy_dataset y, a continuación, occupancy_dataset_table.

    3. En la vista de detalles de la tabla, haz clic en Redactar nueva consulta.

      Redactar nueva consulta

    4. Introduce la siguiente consulta de SQL estándar de Google en el área de texto 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 cambiar la ubicación del tratamiento de datos, haz clic en Más y, a continuación, en Configuración de la consulta. En Ubicación de tratamiento, haz clic en Selección automática y elige la ubicación de tus datos. Por último, haz clic en Guardar para actualizar la configuración de la consulta.

    6. Haz clic en Ejecutar.

    De esta forma, se crea una tarea de consulta que escribe el resultado en una tabla temporal.

    Al ejecutar esta consulta, se genera una tabla con información sobre la hora y el recuento de personas presentes en el vídeo.

    currentTime recuento tipo
    2022-08-10 16:17:00 UTC 2 "Persona"
    2022-08-10 16:17:00 UTC 2 "Persona"
    2022-08-10 16:17:00 UTC 4 "Persona"
    2022-08-10 16:17:00 UTC 1 "Persona"
    2022-08-10 16:17:00 UTC 5 "Persona"
    2022-08-10 16:17:00 UTC 2 "Persona"

    Crear una vista para el entrenamiento

    Después de ver los datos almacenados en la tabla, puedes crear una vista y, a continuación, inspeccionar el contenido de la tabla resultante. Estos datos de vista se usan para entrenar el modelo de previsión.

    Para crear una vista, escribe una consulta de SQL que se use para definir los datos a los que puede acceder la vista. La consulta de SQL debe constar de una instrucción SELECT. Para obtener más información sobre las vistas de BigQuery, consulta Introducción a las vistas.

    Para crear una vista de tabla de entrenamiento, sigue estos pasos:

    Consola

    1. En la Google Cloud consola, abre la página de BigQuery.

      Ir a BigQuery

    2. Selecciona Ampliar junto a occupancy_dataset y, a continuación, occupancy_dataset_table.

    3. En la vista de detalles de la tabla, haz clic en Redactar nueva consulta.

      Redactar nueva consulta

    4. Introduce la siguiente consulta de SQL estándar de Google en el área de texto 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. Haz clic en Ejecutar.

    Opcional: Consultar la vista

    Ejecuta la siguiente consulta para ver los resultados de los nuevos datos de entrenamiento de la vista:

    Consola

    1. En la vista de detalles de la tabla occupancy_dataset_table, haz clic en Redactar nueva consulta.

    2. Introduce la siguiente consulta de SQL estándar de Google en el área de texto Editor de consultas:

      SELECT
       *
      FROM
        `PROJECT_ID.occupancy_dataset.forecast_training_data`
      ORDER BY
       currentTime, type
      LIMIT
       100
    3. Haz clic en Ejecutar.

    De esta forma, se devuelve un resultado ordenado por tiempo similar al siguiente:

    currentTime total_count tipo
    2022-08-10 16:17:00 UTC 129 "Persona"
    2022-08-10 16:18:00 UTC 150 "Persona"
    2022-08-10 16:19:00 UTC 80 "Persona"
    2022-08-10 16:20:00 UTC 129 "Persona"
    2022-08-10 16:21:00 UTC 142 "Persona"
    2022-08-10 16:22:00 UTC 71 "Persona"
    2022-08-10 16:22:00 UTC 2 "Vehicle" ("Vehículo")

    Entrenar el modelo de previsión con BigQuery ML

    Ahora que tiene datos en una vista que le servirán como datos de entrenamiento, puede entrenar el modelo de previsión con BigQuery ML.

    Consola

    1. En la vista de detalles de la tabla occupancy_dataset_table, haz clic en Redactar nueva consulta.

    2. Introduce la siguiente consulta de SQL estándar de Google en el área de texto 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. Haz clic en Ejecutar.

    La consulta tarda varios minutos en completarse. Cuando se complete la primera iteración, tu modelo (occupancy_forecast_model) aparecerá en el panel de navegación. Como la consulta usa una instrucción CREATE MODEL para crear un modelo, no se muestran resultados.

    Para observar el modelo mientras se entrena, consulta la pestaña Estadísticas del modelo. La pestaña se actualiza en cuanto se completa la primera iteración. Las estadísticas se siguen actualizando a medida que se completa cada iteración.

    Obtener una predicción de ocupación con BigQuery

    Una vez que el modelo haya terminado de entrenarse, podrás obtener una predicción del modelo sobre el número de ocupantes.

    La siguiente consulta ML.FORECAST usa la entrada de la función HORIZON para hacer una previsión de los próximos 60 minutos.

    Consola

    1. En la vista de detalles de la tabla occupancy_dataset_table, haz clic en Redactar nueva consulta.

    2. Introduce la siguiente consulta de SQL estándar de Google en el área de texto Editor de consultas:

      SELECT
        *
      FROM
        ML.FORECAST(MODEL `PROJECT_ID.occupancy_dataset.occupancy_forecast_model`,
        STRUCT(60 AS HORIZON))
    3. Haz clic en Ejecutar.

    El modelo genera previsiones en forecast_value para marcas de tiempo futuras en las que el tipo es "Person". Por ejemplo, en 2022-08-12 a las 11:06:00, el modelo predice que habrá unos 15,26 "Personas" en total.

    tipo forecast_timestamp forecast_value standard_error confidence_level prediction_interval_lower_bound prediction_interval_upper_bound
    "Persona" 2022-08-12 11:06:00 UTC 15.2621986941298 2,56470066 0,95 10.2444693 20.2799280
    "Persona" 2022-08-12 11:07:00 UTC 13.235260043001354 3,19379743 0,95 6.98672921 19,4837908
    "Persona" 2022-08-12 11:08:00 UTC 16,257331475128712 3.87581375 0,95 8,67446430 23.8401986
    "Persona" 2022-08-12 11:09:00 UTC 31.432229611853742 4.24905293 0,95 23,1191356 39.7453236
    "Persona" 2022-08-12 11:10:00 UTC 26,199214148193725 4,26157413 0,95 17.8616229 34.5368053
    "Persona" 2022-08-12 11:11:00 UTC 26.211573546307324 4,27962512 0,95 17,8386663 34.5844807

    Limpieza

    Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.

    Eliminar el proyecto

    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.

    Eliminar recursos concretos

    Eliminar una instancia de VM de 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.

    Eliminar un conjunto de datos de 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.

    Eliminar un flujo

    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.

    Eliminar una aplicación

    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.

    Siguientes pasos