Google MobileNet Implementation using Keras Framework 2.0
- This project is just the implementation of paper from scratch. I don't have the pretrained weights or GPU's to train :)
- Separable Convolution is already implemented in both Keras and TF but, there is no BN support after Depthwise layers (Still investigating).
- Custom Depthwise Layer is just implemented by changing the source code of Separable Convolution from Keras. Keras: Separable Convolution
- There is probably a typo in Table 1 at the last "Conv dw" layer stride should be 1 according to input sizes.
- Couldn't find any information about the usage of biases at layers (not used as default).
- Add Custom Depthwise Convolution
- Add BN + RELU layers
- Check layer shapes
- Test Custom Depthwise Convolution
- Benchmark training and feedforward pass with both CPU and GPU
- Compare with SqueezeNet
- Keras v2.0+
- Tensorflow 1.0+ (not supporting Theano for now)
Note: If you find this project useful, please include reference link in your work.