Part Number: PROCESSOR-SDK-TDAX
Wrote a simple CNN in tensorflow that involves 4 modules : Conv2D, Batch Norm, Relu and MaxPool which Ti deep learning (0.08) Datasheet mention's the support for these, but there are issues with the Ti conversion tool . The following is the CNN model:
Input: [1, 416, 416, 3] Conv2D_1: [1, 416, 416, 16] MaxPool_1: [1, 208, 208, 16] Conv2D_2: [1, 208, 208, 32] MaxPool_2: [1, 104, 104, 32] Conv2D_3: [1, 104, 104, 64] MaxPool_3: [1, 52, 52, 64] Conv2D_4: [1, 52, 52, 128] MaxPool_4: [1, 26, 26, 128] Conv2D_5: [1, 26, 26, 256] MaxPool_5: [1, 13, 13, 256] Conv2D_6: [1, 13, 13, 512] MaxPool_6: [1, 13, 13, 512] Conv2D_7: [1, 13, 13, 1024] Conv2D_8: [1, 13, 13, 1024] Conv2D_9[1, 13, 13, 125]
I implemented the above using tensorflow slim (tf.layers and tf.nn behaved much worse) and all the conv2d layers has batch norm and Relu enabled. When i used the tool to convert the graph, the tool crashed after the first step.
The output of the first step is given below :
Num of Layer Detected : 10
0, TIDL_DataLayer 0, -1 , 1 , x , x , x , x , x , x , x , x , 0 , 0 , 0 , 0 , 0 , 1 , 3 , 416 , 416 , 0 ,
1, TIDL_ConvolutionLayer 1, 1 , 1 , 0 , x , x , x , x , x , x , x , 1 , 1 , 3 , 416 , 416 , 1 , 16 , 208 , 208 , 74760192 ,
2, TIDL_ConvolutionLayer 1, 1 , 1 , 1 , x , x , x , x , x , x , x , 2 , 1 , 16 , 208 , 208 , 1 , 32 , 104 , 104 , 199360512 ,
3, TIDL_ConvolutionLayer 1, 1 , 1 , 2 , x , x , x , x , x , x , x , 3 , 1 , 32 , 104 , 104 , 1 , 64 , 52 , 52 , 199360512 ,
4, TIDL_ConvolutionLayer 1, 1 , 1 , 3 , x , x , x , x , x , x , x , 4 , 1 , 64 , 52 , 52 , 1 , 128 , 26 , 26 , 199360512 ,
5, TIDL_ConvolutionLayer 1, 1 , 1 , 4 , x , x , x , x , x , x , x , 5 , 1 , 128 , 26 , 26 , 1 , 256 , 13 , 13 , 199360512 ,
6, TIDL_ConvolutionLayer 1, 1 , 1 , 5 , x , x , x , x , x , x , x , 6 , 1 , 256 , 13 , 13 , 1 , 512 , 6 , 6 , 199360512 ,
7, TIDL_ConvolutionLayer 1, 1 , 1 , 6 , x , x , x , x , x , x , x , 7 , 1 , 512 , 6 , 6 , 1 , 1024 , 6 , 6 , 169869312 ,
8, TIDL_ConvolutionLayer 1, 1 , 1 , 7 , x , x , x , x , x , x , x , 8 , 1 , 1024 , 6 , 6 , 1 , 1024 , 6 , 6 , 339738624 ,
9, TIDL_ConvolutionLayer 1, 1 , 1 , 8 , x , x , x , x , x , x , x , 9 , 1 , 1024 , 6 , 6 , 1 , 125 , 6 , 6 , 4608000 ,
Total Giga Macs : 1.5858
Total Giga Macs : 23.7867 @15 fps
Total Giga Macs : 47.5734 @30 fps
Apart from the crash, the above shows the batch norm/ maxpooling layers were not detected? and the output resolution is also wrong. (after 6th layer)
Other issue when using leaky_relu gives an error saying its not supported (even though its actually PReLU). How do we address this problem?
Do you guys have example code of all the supported Layers in tensorflow?.
I have attached the necessary files to recreate the problem.
https://drive.google.com/file/d/1Z7aaNRqtV7Bu6hqobMu52hUQiBef2NUw/view?usp=sharing
