2016-06-02 11 views
5

nel documento caffe: http://caffe.berkeleyvision.org/tutorial/net_layer_blob.htmlcosa significa moda contigua a C nella memorizzazione di caffe blob?

Blob magazzinaggio e comunicazioni # Un Blob è un involucro sopra i dati effettivi in ​​lavorazione e passava da Caffè, e anche sotto il cofano fornisce funzionalità di sincronizzazione tra la CPU e la GPU . Matematicamente, un blob è un array N-dimensionale memorizzato in modo contiguo C.

si dicono un blob viene immagazzinato in un modo C contigue. cosa significa modo contiguo C?

risposta

11

C di moda contigua, è l'opposto della moda Fortran (utilizzato anche da Matlab). Significa che i dati n-dim vengono memorizzati come array lungo e contiguo in memoria. L'ordine degli elementi in memoria è secondo la moda C: le dimensioni finali vengono memorizzate per prime. Cioè se si ha c per ora da w blob 3d, in memoria le file verranno salvate una dopo l'altra, e dopo aver completato tutte le righe del primo canale, solo allora verranno scritte le righe del canale successivo.

Un altro modo di vedere le cose è che la i, j, k elemento viene conservato a

blob[i*w*h + j*w + k] 

Vedi this wiki page per ulteriori informazioni.