2019-02-19 02:48 AM
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
2019-02-20 04:47 AM
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
2019-02-20 04:53 AM
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'))