Reduced MobileNet V1 weight analysis

Press ' - key to Hide/Show the right "Model" window. Set new layer number.

layer

Comments

Keras inference time optimizer (KITO) is used to fold BatchNorm layers with Convolution layers ("conv1_bn_1" → "conv1_bn" and so on are corrected by hand in the weightsManifest of model.json).

MobileNet V1 consists of a regular 3×3 convolution as the very first layer, followed by 13 times the depthwise separable convolution blocks (shown below). Channel weights and biases are shown similar to Data-Free Quantization.

You can use e.g. "JSON Viewer Awesome" Chrome extension to explore model.json file. Reduced MobileNet_1 LayersModel and GraphModel Daisy test.

Similar to MobileNet V2 "the weight distributions differ so strongly between output channels that the same set of quantization parameters cannot be used to quantize the full weight tensor effectively".

To Do

Better MobileNet understanding: conv_pad_N, DW strides...
Data-Free Quantization :)
TFjs notes     updated 5 Jan 2020