cancel
Showing results for 
Search instead for 
Did you mean: 

Why validation (PC or target) is failing on my model ?

JDELS
Associate

Hello,

my model uses 2 SeparableConv2D, I am getting high error values when running validation :

 Ref layer 0 matched with C layer 1, error: 0.63482046

 Ref layer 1 matched with C layer 3, error: 0.58572435

 Ref layer 4 matched with C layer 5, error: 0.474215

 Ref layer 5 matched with C layer 6, error: 1.0003685

I made sure my model is using float32 so there should not be any precision errors.

I does not depend on precision level

I get the same error level with data coming from my actual dataset

Could it be a problem in C implementation of those SeparableConv2D layers ?

Could it be possible to get the code of the .a library for debugging purpose ?

thanks by advance

Julien

2 REPLIES 2
jean-michel.d
ST Employee

​Hello,

According your description and an issue currently identified with a similar model, there is effectively a problem in the current version of the code generator (X-CUBE-AI-3.3.0). Normaly if no compression is applied, reported errors should be closed to 10e-7.

Issue is now fixed and should be delivered in the next release X-CUBE-AI-3.4.0 scheduled in a couple of week.

Do you think that is possible to have our model to verify the fixes?

Jean-michel

JDELS
Associate

Hello,

thanks for the answer.

no problem for sharing my model,

those are just some tests I am doing to get an idea of what is possible.

Here it is:

K.set_floatx('float32')

model = Sequential()

model.add(

   SeparableConv2D(filters = 32, kernel_size=(3, 3),

           padding = 'valid', strides = (2,2), activation='relu',

                   input_shape = input_shape )

)

model.add(

   SeparableConv2D(filters = 32, kernel_size=(3, 3),

           padding = 'same', strides = (1,1), activation='relu')

)

model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Flatten())

model.add(Dense(units=128, activation='relu'))