loading

Analisi del caso della tecnologia di apprendimento profondo basata su Spark e Bigdl

Questo documento condivide principalmente l'esperienza pratica di Intel e JD nella costruzione di un framework di estrazione di funzionalità di immagine su larga scala basato sulla tecnologia di apprendimento profondo spark e bigdl. backgroundL'estrazione di funzionalità di immagine è ampiamente utilizzata in un simile recupero di immagini, de duplicazione e così via. Prima di utilizzare bigdl framework (che verrà menzionato in seguito), abbiamo cercato di sviluppare e distribuire applicazioni di estrazione di funzionalità rispettivamente su multi macchina, scheda multi GPU e cluster GPU. Tuttavia, i framework di cui sopra presentano evidenti svantaggi:

Analisi del caso della tecnologia di apprendimento profondo basata su Spark e Bigdl 1

Nel cluster GPU, la strategia di allocazione delle risorse basata sulla scheda GPU è molto complessa e l'allocazione delle risorse è soggetta a problemi, come una memoria video rimanente insufficiente, con conseguente arresto anomalo e dell'applicazione. Nel caso di una singola macchina, rispetto alla modalità cluster, gli sviluppatori devono eseguire manualmente la frammentazione dei dati, Carico e tolleranza ai guasti. L'applicazione della modalità GPU, prendendo ad esempio Caffe, ha molte dipendenze, tra cui CUDA, che aumenta la difficoltà di implementazione e manutenzione. Ad esempio, quando ci sono problemi con diverse versioni del sistema operativo e versioni GCC, devono essere ricompilate e confezionate.

I problemi di cui sopra fanno sì che il programma in avanti basato sulla GPU affronti molte sfide tecniche applicative in architettura.

Diamo un'occhiata alla scena stessa. Poiché lo sfondo di molte immagini è complesso e la proporzione di oggetti soggetti è solitamente piccola, al fine di ridurre l'interferenza dello sfondo sull'accuratezza dell'estrazione delle caratteristiche, il soggetto deve essere separato dall'immagine. Naturalmente, il quadro di estrazione delle caratteristiche dell'immagine è diviso in due passaggi. Innanzitutto, il bersaglio viene rilevato dall'algoritmo di rilevamento del bersaglio e quindi la caratteristica target viene estratta dall'algoritmo di estrazione delle caratteristiche. Qui, utilizziamo SSD [1] (rilevatore multibox a colpo singolo) per il rilevamento del bersaglio e la rete deepbit [2] per l'estrazione delle caratteristiche.

Jingdong ha un gran numero di (più di centinaia di milioni di) immagini di prodotti nel database open source distribuito mainstream. Pertanto, come recuperare ed elaborare in modo efficiente i dati in un ambiente distribuito su larga scala è un problema chiave della pipeline di estrazione delle caratteristiche dell'immagine. Le soluzioni basate su GPU esistenti affrontano altre sfide nel risolvere i requisiti degli scenari di cui sopra: il download dei dati richiede molto tempo e lo schema basato sulla GPU non può ottimizzarlo bene. Per i dati dell'immagine nel database open source distribuito, il processo di elaborazione dei dati dello schema GPU è molto complesso, E non esiste un framework software maturo per la gestione delle risorse, l'elaborazione dei dati distribuiti e la gestione della tolleranza ai guasti.

Analisi del caso della tecnologia di apprendimento profondo basata su Spark e Bigdl 2

A causa delle limitazioni del software GPU e del framework hardware, è molto difficile espandere lo schema GPU per gestire immagini su larga scala. Schema di integrazione Bigdl Nell'ambiente di produzione, utilizzando le strutture software e hardware esistenti migliorerà notevolmente l'efficienza produttiva (come la riduzione della R & D tempo di nuovi prodotti) e ridurre il costo. In questo caso, i dati vengono memorizzati nel database open source distribuito mainstream nel cluster di big data. Se l'applicazione di deep learning può utilizzare il cluster di big data esistente (come Hadoop o spark cluster) per l'elaborazione, può facilmente risolvere le sfide di cui sopra.

Il progetto bigdl open source di Intel [3] è un framework di deep learning distribuito su spark, che fornisce un supporto completo dell'algoritmo di deep learning. Bigdl può essere facilmente esteso a centinaia o migliaia di nodi con la scalabilità distribuita della piattaforma scintilla. Allo stesso tempo, bigdl utilizza la libreria di calcolo matematico Intel MKL e la tecnologia di calcolo parallelo per ottenere prestazioni elevate sul server Intel Xeon (la potenza di calcolo può essere paragonabile alle prestazioni della GPU tradizionale). Nel nostro scenario, bigdl è personalizzato per supportare vari modelli (rilevamento e classificazione); Il modello viene trapiantato dall'essere applicabile solo all'ambiente specifico a un ambiente bigdl big data che supporta il modello generale (cafe, torcia, tensorflow); L'intero processo di pipeline è stato ottimizzato e accelerato. La pipeline per l'estrazione di funzionalità in ambiente spark tramite bigdl è mostrata in Figura 1:

Utilizzare la scintilla per leggere centinaia di milioni di immagini originali dal database open source distribuito e creare la scintilla RDDUsa per pre-elaborare le immagini, incluso il ridimensionamento, la sottrazione del valore medio e la composizione Dati in un batchUtilizzando il bigdl per caricare il modello SSD, il rilevamento del bersaglio su larga scala e distribuito viene eseguito sull'immagine attraverso la scintilla e si ottengono una serie di coordinate di rilevamento e punteggi corrispondenti

Il risultato del rilevamento con il punteggio più alto viene mantenuto come obiettivo del soggetto e l'immagine target viene ottenuta tagliando l'immagine originale in base ai coordinamenti di rilevamento Preprocessare l'RDD del bersaglio Immagine, incluso il ridimensionamento, per formare un batchBigdl viene utilizzato per caricare il modello di deepbit e la scintilla viene utilizzata per estrarre le caratteristiche distribuite dell'immagine target rilevata per ottenere il corrispondente Caratteristiche

I risultati del rilevamento (funzionalità target estratta RDD) vengono archiviati su HDFSL'intera pipeline di analisi dei dati, inclusa la lettura dei dati, il partizionamento dei dati, la preelaborazione, la previsione e l'archiviazione dei risultati, possono essere facilmente implementati in scintilla attraverso il bigdl. Sul cluster di big data esistente (Hadoop / spark), gli utenti possono eseguire applicazioni di deep learning utilizzando bigdl senza modificare alcuna configurazione di cluster. Inoltre, il bigdl può essere facilmente esteso a un gran numero di nodi e attività utilizzando l'elevata scalabilità della piattaforma spark, quindi accelera notevolmente il processo di analisi dei dati. Oltre al supporto del deep learning distribuito, bigdl fornisce anche molti strumenti di facile utilizzo, come la libreria di preelaborazione delle immagini, gli strumenti di caricamento dei modelli (Compresi i modelli di caricamento del framework di deep learning di terze parti), che è più conveniente per gli utenti di costruire l'intera pipeline.

PreprocessingBigdl fornisce una libreria di preelaborazione delle immagini [4] Basata su OpenCV [5], che supporta varie funzioni comuni di conversione delle immagini e miglioramento delle immagini. Gli utenti possono facilmente utilizzare queste funzioni di base per costruire una pipeline di preelaborazione delle immagini. Inoltre, gli utenti possono anche chiamare la funzione opencv fornita dalla libreria per operare la conversione dell'immagine personalizzata. La pipeline di preelaborazione di questo campione converte un RDD originale in un RDD batch attraverso una serie di trasformazioni. Tra questi, bytetomat converte l'immagine del byte nel formato di archiviazione del tappetino di OpenCV, ridimensiona regola la dimensione dell'immagine a 300x300 e mattofloats salva i pixel nel tappetino nel formato di float array e sottrae il valore medio del canale corrispondente. Infine, roiimagetobatch forma i dati in un batch, che viene utilizzato come input del modello per la previsione o l'addestramento.

Modellamento di caricamento Gli utenti possono utilizzare facilmente bigdl per caricare il modello pre-addestrato e utilizzarlo direttamente in Spark Program. Dato il file del modello bigdl, puoi chiamare module.load per ottenere il modello. Inoltre, bigdl supporta anche l'importazione di modelli di framework di deep learning di terze parti, come Caffe, torcia e tensorflow.

Gli utenti possono caricare facilmente il modello addestrato per la previsione dei dati, l'estrazione delle caratteristiche, la regolazione fine del modello e così via. Prendendo ad esempio Caffe, il modello di Caffe è costituito da due file, file di definizione del prototipo del modello e file di parametri del modello. Come mostrato di seguito, gli utenti possono facilmente caricare il modello Caffe pre-addestrato in programmi spark e bigdl. performanceSi valutano le prestazioni della soluzione cluster GPU basata su Caffe e la soluzione cluster Xeon basata su bigdl. I test sono in esecuzione nell'ambiente cluster interno di JD.

Test standard Ppeline di analisi e elaborazione delle immagini da fine a fine, tra cui: Leggere le immagini dal database open source distribuito (scaricare le immagini dalla sorgente dell'immagine alla memoria)

Input al modello di rilevamento target e al modello di estrazione delle caratteristiche per l'estrazione delle featureSalva i risultati (percorsi e funzionalità dell'immagine) nel sistema di file Nota: il fattore di download è diventato un fattore importante che influenza il throughput end-to-end complessivo. In questo caso, questa parte del tempo di elaborazione rappresenta circa la metà del tempo di elaborazione totale (funzionalità di rilevamento del download). Il server GPU non può utilizzare la GPU per accelerare l'elaborazione del download.

Testing environmentGPU: NVIDIA Tesla K40, 20 schede eseguite in concomitanza CPU: CPU Intel (R) Xeon® e5-2650 V4 @ 2,20 GHz, 1200 core logici in totale (ogni server ha 24 core fisici, consente il threading hyper ed è configurato come 50 core logici di filato)

Risultato del test La Figura 2 mostra che il throughput di Caffe di 20 K40 immagini di elaborazione simultanea è di circa 540 immagini/s, mentre il throughput di bigdl sul cluster di filati (Xeon) con 1200 core logici è di circa 2070 immagini/s. Il throughput di bigdl su cluster Xeon è circa 3,83 volte quello del cluster GPU, il che riduce notevolmente il tempo di elaborazione delle immagini su larga scala. I risultati del test mostrano che bigdl fornisce un supporto migliore nelle applicazioni di estrazione di funzionalità di immagini su larga scala. L'elevata scalabilità, le alte prestazioni e la facilità d'uso di Bigdl aiutano JD a far fronte più facilmente alla crescita massiccia ed esplosiva della scala dell'immagine. Sulla base di tali risultati dei test, JD sta aggiornando l'implementazione dell'estrazione della funzione di immagine Caffe basata sul cluster GPU a uno schema bigdl basato sul cluster Xeon e distribuendolo per stimolare l'ambiente di produzione del cluster.

Figura 2 confrontare il throughput di K40 e Xeon nel pipelinedi estrazione delle caratteristiche dell'immagine L'elevata scalabilità, le prestazioni elevate e la facilità d'uso di Bigdl aiutano JD a utilizzare più facilmente la tecnologia di apprendimento profondo per elaborare immagini massicce. JD continuerà ad applicare il bigdl a una gamma più ampia di applicazioni di apprendimento approfondito, come la formazione sui modelli distribuiti. quote

[1]. Liu, Wei, et al. SSD: Singolo Shot MulTIbox Rilevatore. Conferenza europea sulla visione artificiale. Springer, Cham, 2016.[2]. Lin, Kevin, et al. Apprendimento di descrittori binari compatti con reti neurali profonde non supervisionate. Atti della IEEE Conference on Computer Vision and Pattern RecogniTIon, 2016.[3]. Https://github.com/intel-analyTIcs/BigDL

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

Mettiti in contatto con noi
Articoli raccomandati
Custodie
Cosa cercare nel distributore automatico di biglietti per il parcheggio Il più delle volte, scoprirai che ci sono molti diversi tipi di biglietti per il parcheggio. Ti stancherai
L'introduzione dell'emettitore di biglietti per i parcheggiGli emettitori di biglietti per i parcheggi sono un tipo estremamente comune di gettone che le persone usano per acquistare beni e servizi. Quando si
Come funzionano i distributori di biglietti per il parcheggio Puoi acquistare i biglietti per il parcheggio online acquistando i biglietti per il parcheggio è facile, ma puoi anche pagare con la tua carta di debito, carta di credito, assegno
L'introduzione dell'erogatore di biglietti di parcheggioErogatore di biglietti di parcheggio è un modo innovativo per eliminare il fastidio di pagare i biglietti di parcheggio. Per le persone w
Come funzionano i distributori di biglietti per il parcheggio Funzionano i distributori di biglietti per il parcheggio noche esta edicin flickerrolls politika sin sadismo sigarette shuhua nga qiaomiao miaoxian o harakk
Come funzionano i distributori di biglietti per il parcheggio Se non ti piace, allontanati e lascialo. È così che guidano da sempre le persone che guidano in macchina. Il
Introduzione all'erogatore di biglietti di parcheggio Esistono molti modi diversi per smaltire un biglietto di parcheggio. È possibile parcheggiare l'auto su un apposito piedistallo, i
Come funzionano i distributori di biglietti per il parcheggioCi sono molti modi per parcheggiare. Molte persone non si rendono conto che parcheggiare è molto pericoloso. Molte volte le persone parcheggiano in macchina a
Che cos'è il distributore di biglietti per il parcheggio? Ci sono diverse cose che influenzano il modo in cui le persone usano il distributore di biglietti per il parcheggio. Ad esempio, alcune persone potrebbero essere drivi
Come funzionano i distributori di biglietti per il parcheggio La gente pensa che i distributori di biglietti per il parcheggio funzionino, ma non funziona. La gente pensa che i distributori di biglietti per il parcheggio funzionino, ma non funziona
nessun dato
Shenzhen Tiger Wong Technology Co., Ltd è il principale fornitore di soluzioni di controllo degli accessi per sistemi di parcheggio intelligenti per veicoli, sistemi di riconoscimento delle targhe, tornelli per il controllo degli accessi pedonali, terminali di riconoscimento facciale e Soluzioni di parcheggio LPR .
nessun dato
CONTACT US

Tecnologia Co.,Ltd di Shenzhen TigerWong

Tel:86 13717037584

E-mail: info@sztigerwong.com

Aggiungi: 1° piano, edificio A2, parco industriale digitale Silicon Valley Power, n. 22 Dafu Road, Guanlan Street, distretto di Longhua,

Shenzhen, provincia di Guangdong, Cina  

                    

Diritto d'autore©Shenzhen TigerWong Technology Co.,Ltd 2021  | Mappa del sito
Contact us
skype
whatsapp
messenger
contact customer service
Contact us
skype
whatsapp
messenger
Annulla
Customer service
detect