Crea una app de estadísticas de ocupación con la previsión de BigQuery


Vertex AI Vision es una plataforma potenciada por IA que puedes usar para ingerir, analizar y almacenar datos de video. Vertex AI Vision te permite compilar e implementar aplicaciones de IA. Puedes compilar soluciones de Vertex AI Vision de extremo a extremo aprovechando la integración de Vertex AI Vision con otros componentes del producto.

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

  • Streams: Representan una capa de transmisión de video de tu solución. La fuente de transmisión puede ser un video en vivo (por ejemplo, una cámara IP) o un archivo de video (por ejemplo, un archivo MP4).

  • Aplicaciones: Habilitan la conexión entre una transmisión y un procesador de IA para realizar una operación de aprendizaje automático en el video. Por ejemplo, puedes conectar una transmisión de cámara a un modelo de IA que cuente las personas que pasan frente a ella.

  • Destino de salida de la app: Envía los datos analizados a un destino de almacenamiento (Media Warehouse de Vertex AI Vision o BigQuery) o recibe datos en tiempo real. El almacenamiento en Media Warehouse de Vertex AI Vision te permite buscar los resultados del análisis y los metadatos de los procesadores de IA que se usan en los datos de las transmisiones ingeridas. El almacenamiento en BigQuery te permite usar las capacidades de análisis sin conexión del producto. Si recibes directamente el resultado de la app, puedes usar las estadísticas para fundamentar instantáneamente las decisiones comerciales. Para obtener más información, consulta Descripción general: Conecta la salida de la app a un destino de datos.

Objetivos

En este instructivo, se muestra cómo realizar lo siguiente:

  • Crea un conjunto de datos y una tabla de BigQuery.
  • Compila una app de análisis 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 video desde la instancia de VM a la app.
  • Usa el resultado almacenado de la app para crear un modelo de previsión con BigQuery ML.

Costos

En este documento, usarás los siguientes componentes facturables de Google Cloud:

Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.

Es posible que los usuarios de Google Cloud nuevos cumplan con los requisitos para acceder a una prueba gratuita.

Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.

Antes de comenzar

  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 usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI 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 usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

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

    gcloud init
  18. El rol solo es necesario si copias un archivo de video de muestra de un bucket de Cloud Storage.

    Configura BigQuery para recibir datos

    Para poder recibir datos y generar predicciones a partir de los datos de tu app de estadísticas, debes crear un conjunto de datos y una tabla de BigQuery que coincidan con la información procesada.

    Crea un conjunto de datos

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

    Console

    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 deseas crear el conjunto de datos.

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

    4. En la página Crear conjunto de datos:

      • En ID del conjunto de datos, ingresa occupancy_dataset.
      • En Ubicación de los datos, selecciona una ubicación geográfica para el conjunto de datos (opcional). Después de crear un conjunto de datos, la ubicación no se puede cambiar.

      • Para Vencimiento predeterminado de la tabla, selecciona una de las siguientes opciones:

        • Never (Nunca): (Predeterminado) las tablas creadas en el conjunto de datos nunca se borran de manera automática. Debes borrarlas tú mismo.
        • Cantidad de días después de la creación de la tabla: Este valor determina cuándo se borra una tabla recién creada en el conjunto de datos. Este valor se aplica si no estableces el vencimiento de la tabla cuando la creas.

      • Haz clic en Crear conjunto de datos.

    Crea una tabla de BigQuery

    Console

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

      Ir a BigQuery

    2. En el panel Explorador, expande tu proyecto y, luego, 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 desde.
      2. En la sección Destino, especifica los siguientes detalles:
        1. Verifica que, en el campo Conjunto de datos, se especifique occupancy_dataset.
        2. En el campo Tabla, ingresa occupancy_dataset_table.
        3. Verifica que el campo Tipo de tabla esté configurado como Tabla nativa.
      3. En la sección Esquema, ingresa la definición del esquema. Puedes ingresar la información del esquema de forma manual de la siguiente manera:
        • Haz clic en Editar como texto y pega el siguiente esquema de array de JSON. Cuando usas un array JSON, generas el esquema con el mismo proceso que se usa 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.

    Crea una aplicación de recuento de ocupación

    Después de configurar tu conjunto de datos y tabla de BigQuery, puedes crear la app que procesa los datos enviados a estos recursos de BigQuery.

    Crea una app vacía

    Antes de completar el gráfico de la app, primero debes crear una app vacía.

    Console

    Crea una app en la consola de Google Cloud .

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

      Ir a la pestaña Aplicaciones

    2. Haz clic en el botón Crear.

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

    4. Haz clic en Crear.

    Agrega nodos componentes de la app

    Después de crear la aplicación vacía, puedes agregar los tres nodos al gráfico de la app:

    1. Nodo de transferencia: Es el recurso de transmisión que transfiere los datos enviados desde una instancia de VM de Compute Engine que creas.
    2. Nodo de procesamiento: Es el modelo de análisis de ocupación que actúa sobre los datos ingeridos.
    3. Nodo de BigQuery: Es el nodo del conector que permite que tu app almacene metadatos en tu tabla de BigQuery.

    Console

    Agrega nodos de componentes a tu app en la consola.

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

      Ir a la pestaña Aplicaciones

    2. En la línea occupancy-bq-app, selecciona Ver gráfico. Esta acción te llevará a la visualización del gráfico de la canalización de procesamiento.

    Agrega un nodo de transferencia de datos

    1. Para agregar un nodo de flujo de entrada, selecciona la opción Flujos en la sección Conectores del menú lateral.

    2. En la sección Fuente del menú Transmisión que se abre, selecciona Agregar transmisiones.

    3. En el menú Agregar transmisiones, elige Registrar transmisiones nuevas y agrega occupancy-bq-stream como nombre de la transmisión.

    4. Para agregar el flujo al gráfico de la app, haz clic en Agregar flujos.

    Agrega un nodo de procesamiento de datos

    1. Para agregar el nodo del modelo de recuento de ocupación, selecciona la opción Análisis de ocupación en la sección Modelos especializados del menú lateral.

    2. Deja las selecciones predeterminadas Personas y Vehículos.

    Agrega un nodo de BigQuery

    1. Para agregar 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 Transmisiones y Análisis de ocupación.

    Implementar tu app para usarla

    Después de compilar tu app integral con todos los componentes necesarios, el último paso para usarla es implementarla.

    Console

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

      Ir a la pestaña Aplicaciones

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

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

    4. En el siguiente diálogo de confirmación, 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.

    Cómo configurar una máquina remota para transmitir video

    Ahora que tienes una app de recuento de ocupación implementada y lista para recibir, procesar y almacenar datos de transmisión en una tabla de BigQuery, debes transmitir datos de video a la app.

    En este instructivo, crearás una instancia de VM de Compute Engine que aloja un video y enviarás los datos de transmisión de video desde la VM.

    Crea una VM de Linux

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

    Console

    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 VM. Para obtener más información, consulta Convención de asignación de nombres de recursos.

    5. Opcional: Cambia la Zona para esta VM. Compute Engine aleatoriza la lista de zonas dentro 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 Crea y, luego, inicia una VM.

    7. Para crear y, también, iniciar la VM, haz clic en Crear.

    Configura el entorno de la VM

    Después de que se inicie la VM, puedes usar la consola para establecer una conexión SSH en tu navegador. Después de establecer esta conexión, puedes descargar la herramienta de línea de comandos de vaictl para transferir videos a tu app.

    Console

    Establece una conexión SSH a 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 creaste, haz clic en SSH. Se abrirá una conexión SSH en una nueva ventana del navegador.

      La opción SSH en la IU

    Descarga la herramienta de línea de comandos de vaictl

    1. En la ventana SSH en el navegador, descarga la herramienta de línea de comandos de 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. Para instalar la herramienta de línea de comandos, ejecuta el siguiente comando:

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

      vaictl --help
      

    Transfiere un archivo de video a tu app

    Después de configurar tu entorno de VM, puedes copiar un archivo de video de muestra y, luego, usar vaictl para transmitir los datos de video a tu app de recuento de ocupación.

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

    SSH en el navegador

    Copia un video de muestra en tu VM

    1. En la ventana SSH en el navegador de tu VM, copia un video de muestra con el siguiente comando gcloud storage cp. Reemplaza la siguiente variable:
      • SOURCE: Es la ubicación de un archivo de video que se usará. Puedes usar tu propio archivo de video fuente (por ejemplo, gs://BUCKET_NAME/FILENAME.mp4) o uno de los videos de muestra:
        • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (video con personas y vehículos, fuente del video)
        • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (video solo con vehículos, fuente del video)
      gcloud storage cp SOURCE .

    Transmite video desde la VM y transfiere datos a tu app

    1. Para enviar este archivo de video local al flujo de entrada de la app, usa el siguiente comando. Debes realizar las siguientes sustituciones de variables:
      • PROJECT_ID: El ID de tu proyecto de Google Cloud .
      • LOCATION_ID: Es el ID de tu ubicación. Por ejemplo: us-central1 Más información.
      • LOCAL_FILE.EXT: Es el nombre de un archivo de video 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 video a una transmisión. Si usas la marca --loop, el video se reproducirá en bucle en la transmisión 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

    Es posible que transcurran alrededor de 100 segundos entre el inicio de la operación de transferencia vaictl y la aparición del video en el panel.

    Una vez que la transferencia de la transmisión esté disponible, podrás ver el feed de video en la pestaña Transmisiones del panel de Vertex AI Vision. Para ello, selecciona la transmisión occupancy-bq-stream.

    Ir a la pestaña Flujos

    Crea un modelo de previsión con BigQuery ML

    Ahora tienes una app que funciona y almacena metadatos en BigQuery. Después de que se transmitan varias horas de datos a tu app, puedes comenzar a compilar un modelo de previsión con BigQuery ML.

    Opcional: Ejecuta una consulta de ocupación

    Puedes ver los datos que produce la app y que se almacenan en la tabla ejecutando una consulta simple.

    Console

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

      Ir a BigQuery

    2. Selecciona Expandir junto a occupancy_dataset y, luego, occupancy_dataset_table.

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

      Redactar consulta nueva

    4. Ingresa la siguiente consulta en SQL estándar de Google en el área de texto del 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 de procesamiento de datos, haz clic en Más y, luego, en Configuración de consulta. En Ubicación de procesamiento, 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.

    Esto crea un trabajo de consulta que escribe el resultado en una tabla temporal.

    Si ejecutas esta consulta, se generará una tabla con información sobre la hora y el recuento de personas presentes en el video.

    currentTime count 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"

    Crea una vista para el entrenamiento

    Después de ver los datos almacenados en la tabla, puedes crear una vista y, luego, inspeccionar el contenido de la tabla resultante. Usas estos datos de vistas para entrenar tu modelo de previsión.

    Puedes crear una vista; para ello, redacta una consulta de SQL que se use con el fin de 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, haz lo siguiente:

    Console

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

      Ir a BigQuery

    2. Selecciona Expandir junto a occupancy_dataset y, luego, occupancy_dataset_table.

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

      Redactar consulta nueva

    4. Ingresa la siguiente consulta en SQL estándar de Google en el área de texto del 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: Consulta la vista

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

    Console

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

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

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

    Esto devuelve un resultado ordenado por hora que se ve de la siguiente manera:

    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 "Vehículo"

    Entrena el modelo de previsión con BigQuery ML

    Ahora que tienes datos en una vista para que sirvan como datos de entrenamiento, puedes entrenar el modelo de previsión con BigQuery ML.

    Console

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

    2. Ingresa la siguiente consulta en SQL estándar de Google en el área de texto del 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. Una vez completada la primera iteración, tu modelo (occupancy_forecast_model) aparece en el panel de navegación. Debido a que en la consulta se usa una sentencia CREATE MODEL para crear un modelo, no se muestran los resultados de la consulta.

    Puedes observar el modelo en entrenamiento en la pestaña Estadísticas del modelo. En cuanto se completa la primera iteración, la pestaña se actualiza. Las estadísticas se actualizan a medida que se completan las iteraciones.

    Obtén una predicción de ocupación con BigQuery

    Una vez que finalice el entrenamiento del modelo, podrás obtener una predicción del modelo sobre el recuento de ocupación.

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

    Console

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

    2. Ingresa la siguiente consulta en SQL estándar de Google en el área de texto del 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 produce previsiones en forecast_value para las marcas de tiempo futuras en las que el tipo es "Person". Por ejemplo, en 2022-08-12 a las 11:06:00, el modelo prevé que habrá alrededor de 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

    Limpia

    Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

    Borra 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.

    Borra los recursos individuales

    Borra 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.

    Borra el 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.

    Borrar una transmisión

    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.

    Borra 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.

    ¿Qué sigue?