• Stars
    star
    257
  • Rank 158,728 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Google MobileNet implementation with Keras

Note: This project is not maintained anymore. Mobilenet implementation is already included in Keras Applications folder. Mobilenet

Keras MobileNet

Google MobileNet Implementation using Keras Framework 2.0

Project Summary

  • 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).

TODO

  • 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

Library Versions

  • Keras v2.0+
  • Tensorflow 1.0+ (not supporting Theano for now)

References

  1. Keras Framework

  2. Google MobileNet Paper

Licence

MIT License

Note: If you find this project useful, please include reference link in your work.