loading

Análisis de casos de tecnología de aprendizaje profundo basada en Spark y Bigdl

Este documento comparte principalmente la experiencia práctica de Intel y JD en la construcción de un marco de extracción de características de imagen a gran escala basado en la tecnología de aprendizaje profundo de chispa y bigdl. La extracción de características de backgroundImage se usa ampliamente en la recuperación de imágenes similares, de duplicación, etc. Antes de usar bigdl framework (que se mencionará más adelante), intentamos desarrollar e implementar aplicaciones de extracción de funciones en múltiples máquinas, múltiples tarjetas de GPU y clúster de GPU, respectivamente. Sin embargo, los marcos anteriores tienen desventajas obvias:

Análisis de casos de tecnología de aprendizaje profundo basada en Spark y Bigdl 1

En el clúster de GPU, la estrategia de asignación de recursos basada en la tarjeta GPU es muy compleja, y la asignación de recursos es propensa a problemas, como una memoria de video restante insuficiente, lo que resulta en oom y bloqueo de aplicaciones. En el caso de una sola máquina, en comparación con el modo de clúster, los desarrolladores necesitan hacer manualmente la fragmentación de los datos, La aplicación del modo GPU, tomando como ejemplo a Caffe, tiene muchas dependencias, incluida CUDA, lo que aumenta la dificultad de implementación y mantenimiento. Por ejemplo, cuando hay problemas con diferentes versiones del sistema operativo y versiones de GCC, es necesario volver a compilar y empaquetar.

Los problemas anteriores hacen que el programa de avance basado en GPU se enfrente a muchos desafíos de aplicaciones técnicas en arquitectura.

Miremos la escena en sí. Debido a que el fondo de muchas imágenes es complejo y la proporción de objetos sujetos suele ser pequeña, para reducir la interferencia del fondo sobre la precisión de la extracción de características, el sujeto debe separarse de la imagen. Naturalmente, el marco de la extracción de características de imagen se divide en dos pasos. Primero, el objetivo es detectado por el algoritmo de detección de objetivos, y luego la característica de destino es extraída por el algoritmo de extracción de características. Aquí, utilizamos SSD [1] (detector multibox de disparo único) para la detección de objetivos y la red deepbit [2] para la extracción de funciones.

Jingdong tiene una gran cantidad de (más de cientos de millones de) imágenes de productos en la base de datos de código abierto distribuida convencional. Por lo tanto, cómo recuperar y procesar datos de manera eficiente en un entorno distribuido a gran escala es un problema clave de la canalización de extracción de características de imagen. Las soluciones basadas en GPU existentes se enfrentan a otros desafíos para resolver los requisitos de los escenarios anteriores: la descarga de datos lleva mucho tiempo y el esquema basado en GPU no puede optimizarlo bien. Para los datos de imagen en la base de datos distribuida de código abierto, el proceso de procesamiento de datos inicial del esquema de GPU es muy complejo, Y no existe un marco de software maduro para la gestión de recursos, el procesamiento de datos distribuidos y la gestión de la tolerancia a fallas.

Análisis de casos de tecnología de aprendizaje profundo basada en Spark y Bigdl 2

Debido a las limitaciones del software de GPU y el marco de hardware, es muy difícil ampliar el esquema de GPU para hacer frente a imágenes a gran escala. Esquema de integración de Bigdl En el entorno de producción, el uso de las instalaciones de software y hardware existentes mejorará en gran medida la eficiencia de la producción (como reducir la R & D tiempo de nuevos productos) y reducir el costo. En este caso, los datos se almacenan en la base de datos de código abierto distribuida convencional en el grupo de big data. Si la aplicación de aprendizaje profundo puede utilizar el clúster de big data existente (como Hadoop o spark cluster) para la informática, puede resolver fácilmente los desafíos anteriores.

El proyecto bigdl de código abierto de Intel [3] es un marco de aprendizaje profundo distribuido sobre la chispa, que proporciona soporte integral de algoritmos de aprendizaje profundo. Bigdl se puede extender fácilmente a cientos o miles de nodos con la escalabilidad distribuida de la plataforma spark. Al mismo tiempo, bigdl utiliza la biblioteca de computación matemática Intel MKL y la tecnología de computación paralela para lograr un alto rendimiento en el servidor Intel Xeon (la potencia informática puede ser comparable al rendimiento de la GPU convencional). En nuestro escenario, bigdl se personaliza para admitir varios modelos (detección y clasificación); El modelo se trasplanta de ser solo aplicable a un entorno específico al entorno de bigdl big data que admite el modelo general (café, antorcha, flujo de tensión); Todo el proceso de la tubería se ha optimizado y acelerado. La tubería para la extracción de características en el entorno de chispa a través de bigdl se muestra en la Figura 1:

Use spark para leer cientos de millones de imágenes originales de la base de datos de código abierto distribuida y construya RDDUse chispa para preprocesar imágenes, incluido el redimensionamiento, restar el valor medio y componer el Datos en un batchUsando bigdl para cargar el modelo SSD, la detección de objetivos distribuidos y a gran escala se lleva a cabo en la imagen a través de la chispa, y se obtienen una serie de coordenadas de detección y las puntuaciones correspondientes

El resultado de detección con la puntuación más alta se retiene como el objetivo del sujeto, y la imagen objetivo se obtiene cortando la imagen original de acuerdo con las coordinaciones de detecciaPreprocese el RDD del objetivo Imagen, incluido el redimensionamiento, para formar un batchBigdl se usa para cargar el modelo deepbit, y la chispa se usa para extraer las características distribuidas de la imagen objetivo detectada para obtener la correspondiente Características

Los resultados de detección (función de objetivo extraída RDD) se almacenan en HDFSLa canalización de análisis de datos completa, incluida la lectura de datos, la partición de datos, el preprocesamiento, la predicción y el almacenamiento de resultados, se puede implementar fácilmente en chispa a través de bigdl. En el clúster de big data existente (Hadoop / spark), los usuarios pueden ejecutar aplicaciones de aprendizaje profundo utilizando bigdl sin modificar ninguna configuración de clúster. Además, bigdl se puede extender fácilmente a una gran cantidad de nodos y tareas mediante el uso de la alta escalabilidad de la plataforma de chispa, por lo que acelera enormemente el proceso de análisis de datos. Además del apoyo del aprendizaje profundo distribuido, bigdl también proporciona muchas herramientas fáciles de usar, como la biblioteca de preprocesamiento de imágenes, herramientas de carga de modelos (Incluidos los modelos de carga del marco de aprendizaje profundo de terceros), que es más conveniente para los usuarios construir toda la tubería.

PreprocesosBigdl proporciona una biblioteca de preprocesamiento de imágenes [4] basada en OpenCV [5], que admite varias funciones comunes de conversión de imágenes y mejora de imágenes. Los usuarios pueden usar fácilmente estas funciones básicas para construir una canalización de preprocesamiento de imágenes. Además, los usuarios también pueden llamar a la función opencv proporcionada por la biblioteca para operar la conversión de imágenes personalizadas. La canalización de preprocesamiento de esta muestra convierte un RDD original en un RDD por lotes a través de una serie de transformaciones. Entre ellos, el bytetomat convierte la imagen de bytes en el formato de almacenamiento de tapete de OpenCV, el tamaño ajusta el tamaño de la imagen a 300x300 y los colchones guardan los píxeles en mat en el formato de matriz flotante y resta el valor promedio del correspondiente canal. Finalmente, roiimagetobatch forma los datos en un lote, que se utiliza como entrada del modelo para la predicción o el entrenamiento.

Modelo de carga Los usuarios pueden usar fácilmente bigdl para cargar el modelo preentrenado y usarlo directamente en el programa Spark. Dado el archivo de modelo bigdl, puede llamar a module.load para obtener el modelo. Además, bigdl también admite la importación de modelos de marco de aprendizaje profundo de terceros, como Caffe, antorcha y tensorflow.

Los usuarios pueden cargar fácilmente el modelo entrenado para la predicción de datos, la extracción de funciones, el ajuste fino del modelo, etc. Tomando a Caffe como ejemplo, el modelo de Caffe consta de dos archivos, el archivo de definición de prototext del modelo y el archivo de parámetros del modelo. Como se muestra a continuación, los usuarios pueden cargar fácilmente el modelo Caffe entrenado previamente en programas spark y bigdl. performanceWe comparamos el rendimiento de la solución de clúster de GPU basada en Caffe y la solución de clúster Xeon basada en bigdl. Las pruebas se están ejecutando en el entorno de clúster interno de JD.

Probar estándar Fin para finalizar el procesamiento de imágenes y la canalización de análisis, que incluye: leer imágenes de la base de datos distribuida de código abierto (descargar imágenes de la fuente de imagen a la memoria)

Entrada al modelo de detección de destino y al modelo de extracción de características para la extracción de características Guarde los resultados (rutas de imagen y características) en el sistema de archivos Nota: el factor de descarga se ha convertido en un factor importante que afecta al rendimiento general de extremo a extremo. En este caso, esta parte del tiempo de procesamiento representa aproximadamente la mitad del tiempo total de procesamiento (características de detección de descarga). El servidor de GPU no puede usar GPU para acelerar el procesamiento de la descarga.

Prueba de entorno GPU: NVIDIA Tesla K40, 20 tarjetas ejecutadas concurrenteCPU: Intel (R) Xeon (R) CPU e5-2650 V4 @ 2,20 GHz, 1200 núcleos lógicos en total (cada servidor tiene 24 núcleos físicos, permite el hiperroscado y está configurado como 50 núcleos lógicos de hilo)

Resultado de la prueba La figura 2 muestra que el rendimiento de Caffe de 20 imágenes de procesamiento simultáneas K40 es de aproximadamente 540 imágenes/s, mientras que el rendimiento de bigdl en el grupo de hilos (Xeon) con 1200 núcleos lógicos es de aproximadamente 2070 imágenes/s. El rendimiento de bigdl en el clúster Xeon es aproximadamente 3,83 veces mayor que el del clúster de GPU, lo que acorta en gran medida el tiempo de procesamiento de las imágenes a gran escala. Los resultados de la prueba muestran que bigdl proporciona un mejor soporte en aplicaciones de extracción de funciones de imagen a gran escala. La alta escalabilidad, el alto rendimiento y la facilidad de uso de Bigdl ayudan a JD a hacer frente más fácilmente al crecimiento masivo y explosivo de la escala de imagen. Con base en tales resultados de pruebas, JD está actualizando la implementación de la extracción de funciones de imagen de Caffe basada en el clúster de GPU al esquema bigdl basado en el clúster Xeon y lo está implementando en el entorno de producción de clústeres de chispas.

La Figura 2 compara el rendimiento de K40 y Xeon en la extracción de características de imagen. La alta escalabilidad, el alto rendimiento y la facilidad de uso de Bigdl ayudan a JD a utilizar más fácilmente la tecnología de aprendizaje profundo para procesar imágenes masivas. JD continuará aplicando bigdl a una gama más amplia de aplicaciones de aprendizaje en profundidad, como la formación de modelos distribuidos. cita

[1]. ¿Liu... Wei et al? SSD: Detector MulTIbox de disparo único. Conferencia europea sobre visión por computadora. Springer... Cham... 2016 [2] ¿Lin... Kevin et al? Aprendizaje de descriptores binarios compactos con redes neuronales profundas sin supervisión. Actas de la Conferencia IEEE sobre reconocimiento de patrones y visión por computadora, 2016.[3]. Https://github.com/intel-analyTIcs/BigDL

[4]. Https://github.com/intel-analytics/analytics-zoo/tree/master/transform/vision[5].

Póngase en contacto con nosotros
Artículos recomendados
Fundas
La introducción del dispensador de boletos de estacionamientoEl dispensador de boletos de estacionamiento es un tipo de token extremadamente común que la gente usa para comprar bienes y servicios. Cuando tú
Cómo funcionan los dispensadores de boletos de estacionamiento Puede comprar boletos de estacionamiento en línea comprando boletos de estacionamiento es fácil, pero también puede pagar con su tarjeta de débito, tarjeta de crédito, cheque
La introducción del dispensador de boletos de estacionamientoEl dispensador de boletos de estacionamiento es una forma innovadora de eliminar la molestia de pagar los boletos de estacionamiento. Para personas w
Cómo funcionan los dispensadores de tickets de estacionamientoFuncionan los dispensadores de tickets de estacionamiento noche esta edición flickerrolls politika sin sadismo cigarrillos shuhua nga qiaomiao miaoxian o harakk
Cómo funcionan los dispensadores de multas de estacionamiento Si no le gusta, aléjese y déjelo. Así es como siempre ha estado conduciendo la gente que anda en auto. El
La introducción del dispensador de boletos de estacionamiento La invención del dispensador de boletos de estacionamiento es un invento que ha cambiado la forma en que las personas estacionan sus automóviles. Peop
Introducción al dispensador de boletos de estacionamiento Hay muchas maneras diferentes de deshacerse de un boleto de estacionamiento. Es posible estacionar su automóvil en un pedestal especial, yo
La introducción del dispensador de boletos para estacionamientos El dispensador de boletos para estacionamientos es una herramienta indispensable para las personas que no tienen idea de cómo usarlo. Para los que
La introducción del dispensador de boletos de garaje de estacionamientoEl dispensador de boletos de estacionamiento de garaje es una manera fácil de ganar dinero extra. Para muchas personas, dispensador de boletos de estacionamiento
Cómo funcionan los dispensadores de boletos de estacionamiento Hay muchas formas de estacionar. Mucha gente no se da cuenta de que aparcar es muy peligroso. Muchas veces la gente se estaciona en su automóvil
sin datos
Shenzhen Tiger Wong Technology Co., Ltd es el proveedor líder de soluciones de control de acceso para sistemas de estacionamiento inteligente de vehículos, sistemas de reconocimiento de matrículas, torniquetes de control de acceso de peatones, terminales de reconocimiento facial y Soluciones de estacionamiento LPR .
sin datos
CONTACT US

Shenzhen TigerWong Technology Co.... Ltd

Tel:86 13717037584

Correo electrónico: info@sztigerwong.com

Dirección: 1.er piso, edificio A2, parque industrial digital Silicon Valley Power, no. 22 Dafu Road, calle Guanlan, distrito de Longhua,

Shenzhen, provincia de GuangDong, China  

                    

Copyright©2021 Shenzhen TigerWong Technology Co.... Ltd  | Mapa del sitio
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
cancelar
Customer service
detect