Learning on CPU - Softmax backward implementation
Environnement
- aidge_backend_cpu 0.3.1
- aidge_core 0.3.1
- aidge_learning 0.2.1
- aidge_onnx 0.3.1
MLP
onnx imported in aidge:
- sequential_1_conv1_1_convolution__6 (Reshape)
- sequential_1_conv1_1_convolution (Conv)
- sequential_1_conv1_1_Relu (Relu)
- sequential_1_pool1_1_MaxPool2d (MaxPool)
- sequential_1_conv2_1_convolution (Conv)
- sequential_1_conv2_1_Relu (Relu)
- sequential_1_pool2_1_MaxPool2d (MaxPool)
- sequential_1_pool2_1_MaxPool2d__20 (Transpose)
- sequential_1_flatten_1_Reshape (Reshape)
- sequential_1_fc1_1_MatMul (MatMul)
- sequential_1_fc1_1_Relu (Relu)
- sequential_1_softmax_1_MatMul (MatMul)
- sequential_1_softmax_1_Softmax (Softmax)
CPU training
When I want to train my model on CPU I realize The backward implementation for some operators do not exist : Output:
Backward not yet implemented for Softmax_Op on backend cpu
Note
I have also noted some warnings about the ReShape operator that I post here :
Reshape_Op: ignoring non-empty Shape attribute because input#1 takes precedence
Reshape_Op: unable to forwardDims() because output dims are data dependent on input#1
Unable to forward dimensions (circular dependency and/or wrong dimensions and/or data dependent dimension?). Unable to compute output dims for nodes ["sequential_1_conv1_1_convolution__6 (Reshape)", "sequential_1_fc1_1_MatMul (MatMul)", "sequential_1_softmax_1_MatMul (MatMul)", "sequential_1_conv1_1_convolution (PaddedConv)", "sequential_1_flatten_1_Reshape (Reshape)", "sequential_1_conv2_1_convolution (PaddedConv)"].
Reshape_Op: ignoring non-empty Shape attribute because input#1 takes precedence
Reshape_Op: ignoring non-empty Shape attribute because input#1 takes precedence
Edited by Alice Batte