This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA2SX: TIDL limitations

Part Number: TDA2SX

Hi everyone,
I have model trained in Caffe framework and want to convert it using TIDL converter. From TIDL documentation I read that dense convolution flow is supported for only 1x1 and 3x3 kernels with stride = 1
and dilation =1. Also I read about conv2DKernelType parameter for conversion process: conv2DKernelType can be either 0 or 1 for each layer. Default value is 0 for all the layers. Set it to 0 to use sparse convolution, otherwise, set it to 1 to use dense convolution.
In prototxt file of my model, I noticed that stride is set to 2.
So, if conv2DKernelType is by default 0, sparse convolution is used for all layers, there shouldn't be any limitations regarding above mentioned, right? I also tested version where I set conv2DKernelType values for layers to 1, to use dense convolution, which is clearly not supported and I got the same output like for sparse convolution.
So my question is, can we influence type of convolution with conv2DKernelType parameter?

Another thing I noticed is that when processing sample frame some negative values could be seen for sparsity attribute. Can someone explain what this attribute mean and why there are negative values?

 Layer    1 : Out Q :       28 , TIDL_ConvolutionLayer, PASSED  #MMACs =    19.44,    12.87, Sparsity :  33.80
 Layer    2 : Out Q :       11 , TIDL_ConvolutionLayer, PASSED  #MMACs =     6.48,     6.48, Sparsity :   0.00
 Layer    3 : Out Q :        3 , TIDL_ConvolutionLayer, PASSED  #MMACs =    46.08,    27.54, Sparsity :  40.23
 Layer    4 : Out Q :        9 , TIDL_ConvolutionLayer, PASSED  #MMACs =     3.24,     3.24, Sparsity :   0.00
 Layer    5 : Out Q :        4 , TIDL_ConvolutionLayer, PASSED  #MMACs =    46.08,    49.81, Sparsity :  -8.11
 Layer    6 : Out Q :       17 , TIDL_ConvolutionLayer, PASSED  #MMACs =     6.48,     6.48, Sparsity :   0.00
 Layer    7 : Out Q :       27 , TIDL_ConvolutionLayer, PASSED  #MMACs =    92.16,   100.10, Sparsity :  -8.62
 Layer    8 : Out Q :       53 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer    9 : Out Q :       51 , TIDL_ConvolutionLayer, PASSED  #MMACs =    47.32,    53.86, Sparsity : -13.82
 Layer   10 : Out Q :       62 , TIDL_ConvolutionLayer, PASSED  #MMACs =     3.33,     3.33, Sparsity :   0.00
 Layer   11 : Out Q :       87 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,   106.89, Sparsity : -12.95
 Layer   12 : Out Q :       74 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.83,     0.83, Sparsity :   0.00
 Layer   13 : Out Q :      126 , TIDL_ConvolutionLayer, PASSED  #MMACs =    47.32,    47.28, Sparsity :   0.07
 Layer   14 : Out Q :      136 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer   15 : Out Q :      195 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,    94.55, Sparsity :   0.09
 Layer   16 : Out Q :       39 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer   17 : Out Q :      278 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,    94.47, Sparsity :   0.18
 Layer   18 : Out Q :      333 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer   19 : Out Q :      399 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,    94.26, Sparsity :   0.40
 Layer   20 : Out Q :      527 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer   21 : Out Q :      473 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,    94.39, Sparsity :   0.25
 Layer   22 : Out Q :      392 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.66,     1.66, Sparsity :   0.00
 Layer   23 : Out Q :      604 , TIDL_ConvolutionLayer, PASSED  #MMACs =    94.63,    93.11, Sparsity :   1.61
 Layer   24 : Out Q :      368 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.46,     0.46, Sparsity :   0.00
 Layer   25 : Out Q :     1064 , TIDL_ConvolutionLayer, PASSED  #MMACs =    52.43,    51.40, Sparsity :   1.96
 Layer   26 : Out Q :      980 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.92,     0.92, Sparsity :   0.00
 Layer   27 : Out Q :      898 , TIDL_ConvolutionLayer, PASSED  #MMACs =   104.86,    96.04, Sparsity :   8.41
 Layer   28 : Out Q :     2131 , TIDL_ConvolutionLayer, PASSED  #MMACs =    26.21,    23.14, Sparsity :  11.72
 Layer   29 : Out Q :     2516 , TIDL_ConvolutionLayer, PASSED  #MMACs =    29.49,    21.24, Sparsity :  27.97
 Layer   30 : Out Q :     6026 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.64,     1.64, Sparsity :   0.05
 Layer   31 : Out Q :     3333 , TIDL_ConvolutionLayer, PASSED  #MMACs =     2.65,     2.52, Sparsity :   5.17
 Layer   32 : Out Q :     6666 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.29,     0.29, Sparsity :   1.09
 Layer   33 : Out Q :     5288 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.18,     0.90, Sparsity :  23.39
 Layer   34 : Out Q :     6182 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.07,     0.07, Sparsity :   0.27
 Layer   35 : Out Q :     5659 , TIDL_ConvolutionLayer, PASSED  #MMACs =     0.07,     0.03, Sparsity :  58.08
 Layer   36 : Out Q :      274 , TIDL_ConvolutionLayer, PASSED  #MMACs =     2.22,     2.79, Sparsity : -25.91
 Layer   37 :TIDL_FlattenLayer, PASSED  #MMACs =     0.00,     0.00, Sparsity :   0.00
 Layer   38 : Out Q :      771 , TIDL_ConvolutionLayer, PASSED  #MMACs =     1.11,     1.11, Sparsity :   0.00

Thanks in advanse,
Sasa