JiahuiYu/slimmable_networks

Slimming to lower width results in poor accuracy on ARM architectures

octavianmm opened this issue · 0 comments

Hi,
When running the code on CPU (without GPU) on arm-based architectures (e.g. NVIDIA Jetson nano, UDOO neo board), the slimmable network (Mobilenetv1) works as expected at 100% width, but when slimming to lower widths the accuracy is very low - the network always predicts the same class regardless of the input, also the softmax-based confidence decreases (e.g. for 25% is 0.48), which makes me think it might be an issue with the BN layers. However the exact same code works flawless on x86-64 architectures. Also, the code works OK if ran on GPU on an ARM device (e.g. the Jetson nano).
I've tried with Python3.6, 3.8, and pytorch 1.4.0, 1.7.0, same thing.
Do you have a hint on why this weird behavior, solely on ARM CPUs?

Thanks