Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Understanding storage orders

idata
Employee
532 Views

Hello, I'm writing a script to convert NNabla models to NCS graph, and here's my current progress: NNabla to NCS, maxpooling + tanh.

 

Though the script get the correct output, I'm quite confused with the StorageOrder staff, say I had to converted the input with xyz_to_zyx to get the correct output.

 

So, what's the diffetence between StorageOrder.orderYXZ and StorageOrder.orderZYX, and how to feed the input and weights to the network correctly?

0 Kudos
1 Reply
idata
Employee
292 Views

@oraoto The X and Y dimensions are the height and width and the Z dimension is the channels. YXZ has the channels first in rows, then in columns (i.e. BGR BGR BGR…). With ZYX, the tensor is split into planes. The first WxH channels come from the first channel, then the second channel, etc. So the image would be split into planes of blue, green and red. For the NCSDK, all layers are implemented as YXZ.

0 Kudos
Reply