Un tutorial sobre cómo predecir el "futuro": TEngine ejecutándose en la placa de desarrollo Intel AIxBoard™

Intel Digital Development Kit AIxBoard es una placa de desarrollo integrada de inteligencia artificial con arquitectura AI. Es de tamaño pequeño y función potente. Puede ejecutar varias redes neuronales en paralelo en aplicaciones como predicción de datos de series temporales, clasificación de imágenes, detección de objetivos y segmentación. y procesamiento del habla. Como una computadora pequeña y poderosa para fabricantes y desarrolladores profesionales, con la ayuda de OpenVINO, un conjunto de herramientas de inteligencia artificial de código abierto, AIxBoard puede permitir que tanto la CPU como la iGPU tengan capacidades sólidas de razonamiento de IA.

Si la base de datos de series temporales (Base de datos de series temporales, TSDB), las funciones eficientes de almacenamiento y consulta de TEngine y las capacidades de integración ecológica abierta y fácil de usar se superponen a las capacidades de análisis de inteligencia artificial de AIxBoard/OpenVINO, esta poderosa combinación ayudará a los usuarios a desarrollar de manera más simple y eficiente. Desarrolle rápidamente un potente sistema de análisis de inteligencia artificial para datos de series temporales.

Este artículo presentará cómo el equipo de Intel ejecuta TEngine, OpenVINO y otro software en el kit de desarrollo AIxBoard, crea una solución para la recopilación, el almacenamiento, el análisis y la visualización de datos de series temporales, y simula la función de predicción en tiempo real de la velocidad del tráfico de la red de autopistas.

Arquitectura de soluciones

Esta solución adopta la arquitectura de microservicios, cada módulo tiene su propia imagen de Docker, todos los microservicios son administrados por docker compose y el almacén de códigos se encuentra en https://github.com/wayfeng/traffic_prediction.

Módulo de Adquisición de Datos

El conjunto de datos utilizado en este proyecto proviene de la base de datos de tráfico PeMS de Caltrans, que contiene una gran cantidad de datos reales recopilados en las carreteras de California. Usamos el protocolo MQTT para publicar los datos de velocidad del tráfico del sensor del sensor simulado. Los datos simulados provienen de la parte de prueba del conjunto de datos PeMSD7. El módulo de simulación extrae la velocidad actual correspondiente al conjunto de datos de acuerdo con el tiempo del sistema, más una pequeña cantidad de errores distribuidos aleatoriamente, como entrada de todo el sistema. A través del intermediario MQTT, podemos recibir los datos de velocidad emitidos por el sensor analógico y luego reenviar esta parte de los datos a TEngine para su almacenamiento.

módulo de almacenamiento de datos

El almacenamiento de datos se realiza mediante la imagen Docker oficial de TEngine. Con las ricas capacidades de colaboración ecológica de TEngine, los datos se pueden escribir en TEngine a través del intermediario MQTT solo después de una configuración simple, y los datos almacenados en TEngine se pueden mostrar a través de Grafana.

Módulo de análisis de datos

El módulo de análisis (gcrnn) integra los clientes OpenVINO y TEngine. En cada proceso de análisis, usamos el cliente TEngine para consultar la velocidad del tráfico de cada tramo de carretera que se ha almacenado, y usamos la función de agregación de datos de TEngine para obtener el valor promedio de cada 5 minutos en la última hora, y usar el generado tensor como la entrada de OpenVINO Runtime. Luego, use el cliente TEngine para escribir la salida de inferencia de OpenVINO Runtime, es decir, la velocidad de tráfico futura predicha por el modelo, en TEngine. Al repetir este proceso con regularidad, se puede predecir en tiempo real la velocidad futura del tráfico de cada segmento de carretera.

Visualización de datos

El módulo de visualización de datos utiliza la imagen de Docker proporcionada oficialmente por Grafana. TEngine admite oficialmente el complemento de fuente de datos, que puede proporcionar fácilmente datos para Grafana. Para evitar la configuración repetida de la fuente de datos y el Tablero, la función de creación de perfiles de Grafana se puede usar aquí para permitir que el contenedor de Grafana establezca TEngine como la fuente de datos predeterminada cuando comienza a través del archivo de configuración, y también puede cargar el Tablero preparado.

Para obtener información relevante, consulte Provision Grafana: https://grafana.com/docs/grafana/latest/administration/provisioning

Efecto del programa

El subconjunto PeMSD7 utilizado en este ejemplo de este documento contiene 44 días hábiles de datos recopilados por 228 sensores de velocidad instalados en la red de carreteras del Distrito 7 en California. Estos sensores recopilan datos cada 30 segundos. La velocidad de paso del tramo de carretera, el final data es el valor promedio de la velocidad de paso cada 5 minutos.

La siguiente figura muestra las curvas de velocidad del tráfico de tres días recopiladas por 3 sensores seleccionados al azar. La ordenada en la figura es la velocidad de paso y la unidad es km/h. La abscisa es el tiempo, y cada punto representa 5 minutos. Es fácil ver en la figura que la velocidad del tráfico del tramo de carretera donde se ubica cada sensor tiene una ley relativamente obvia con la hora del día, pero existen diferencias obvias en las leyes de los diferentes tramos de carretera.

Para una o más variables, la predicción de posibles valores que pueden ocurrir en el futuro en función de los valores observados en el período pasado es un problema típico de pronóstico de datos de series de tiempo. En este caso, esperamos predecir la velocidad del tráfico en el futuro en función de la velocidad del tráfico de cada segmento de carretera en el período de tiempo pasado.

entrenamiento modelo

Anteriormente, los modelos estadísticos tradicionales (como el modelo ARIMA y sus diversas variantes) han logrado resultados notables en los problemas de pronóstico de series de tiempo, pero estos modelos tradicionales a menudo están limitados por la suposición de la estacionariedad de los datos, y cuando se trata de múltiples variables, la relación entre variables no se puede resolver reflejado en el modelo. Por ejemplo, en este ejemplo, la asociación geográfica de los tramos de carretera donde se encuentra cada sensor se ignora en el modelo tradicional.

Para obtener información relevante, consulte Redes convolucionales de gráficos espaciotemporales: un marco de aprendizaje profundo para la previsión del tráfico: https://arxiv.org/abs/1709.04875 Este artículo utiliza el modelo simplificado de convolución de gráficos más LSTM presentado en la referencia anterior. El modelo primero necesita construir un gráfico no dirigido de acuerdo con la distancia entre los sensores y usar la convolución del gráfico como la primera capa del modelo.Con la capa LSTM, el modelo puede aprender información espacial y temporal al mismo tiempo.

Extrajimos los datos de 26 sensores en el conjunto de datos PeMSD7 y los dividimos según entrenamiento (50 %), validación (20 %) y prueba (30 %), y parte de los datos de prueba se usaron como entrada de datos. módulo de simulación.

Para obtener detalles sobre el entrenamiento de modelos específicos, consulte Pronóstico de tráfico mediante redes neuronales gráficas y LSTM: https://keras.io/examples/timeseries/timeseries_traffic_forecasting/

conversión de modelo

El optimizador de modelos que viene con OpenVINO puede convertir los modelos entrenados por varios marcos como PyTorch y TensorFlow al formato intermedio (IR) requerido por OpenVINO Runtime. El método de conversión específico se explica en detalle en la documentación oficial de OpenVINO.

Para obtener más información, consulte "Uso del Optimizador de modelos para convertir modelos": https://docs.openvino.ai/cn/2022.1/openvino_docs_MO_DG_Deep_Learning_Model_Optimizer_DevGuide.html

visualización de resultados

Después de ejecutar durante un período de tiempo, puede observar un efecto similar a la figura a continuación.

La primera columna de la figura son los datos en tiempo real enviados por varios sensores seleccionados al azar y el valor predicho después de un corto período de tiempo utilizando el razonamiento del módulo gcrnn. En los gráficos de 4 líneas anteriores, la curva amarilla es la velocidad del tráfico pronosticada por gcrnn, y la curva verde es la velocidad del tráfico real. Puede verse que los resultados de predicción obtenidos al razonar usando el modelo simple en este ejemplo son relativamente cercanos a los datos reales.

Resumir

En este documento, al simular el caso de recopilación de velocidad y predicción en tiempo real de la red de autopistas, se presenta el proceso básico de construcción de recopilación, almacenamiento y análisis de señales de series temporales y las herramientas necesarias, y la conveniente y eficiente recopilación de datos, almacenamiento, capacidades de consulta y visualización, y la capacidad de OpenVINO para analizar señales de series temporales basadas en aprendizaje profundo. Después de leer este artículo, debe tener una comprensión más profunda del procesamiento y pronóstico de datos de series temporales. Si desea realizar intercambios técnicos en profundidad, puede agregar un pequeño T vx: tdengine y solicitar unirse al grupo de intercambio técnico de TEngine.

Sobre el autor: Feng Wei, arquitecto de software de Intel, tiene 16 años de experiencia en desarrollo de software, cubriendo navegadores, visión artificial, máquinas virtuales y otros campos. Se unió a Intel en 2015. En los últimos años, se ha centrado en la computación perimetral, la implementación de modelos de aprendizaje profundo y el análisis de datos de series temporales.

Introducción a TEngine

TEngine™ es una base de datos de series temporales nativa de la nube y de código abierto diseñada y optimizada para Internet de las cosas (IoT), automóviles conectados e IoT industrial. Puede escribir y procesar eficientemente datos masivos en tiempo real y monitorear datos a nivel de petabytes generados por miles de millones de sensores y recopiladores de datos en un día. Muchos usuarios almacenan datos masivos generados por dispositivos IoT, automóviles o infraestructura de TI en TEngine en tiempo real y usan comandos SQL estándar para consultar datos con TEngine: TEngine admite filtrado, agrupación, creación de ventanas, unión y muchas funciones de agregación para ayudar a los usuarios a más capaz de consultar los datos. Además, TEngine también puede ejecutarse en una variedad de plataformas de hardware principales y brindar la capacidad de integrarse con otras herramientas de software de terceros, así como acceso conveniente a datos, análisis de datos y visualización de datos y otras funciones.

Supongo que te gusta

Origin blog.csdn.net/taos_data/article/details/132015883
Recomendado
Clasificación