duan8/mobilenetv3
2020-02-14 16:03:40 +08:00
..
CMakeLists.txt add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
common.h add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
h_sigmoid.cu add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
h_sigmoid.cuh add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
h_sigmoidplugin.cpp add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
h_sigmoidplugin.h add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
mobilenet_v3.cpp add mobilenetv3 large model 2020-02-14 10:28:27 +08:00
README.md edit mobilenetv3 readme about pytorch implement address 2020-02-14 16:03:40 +08:00

mobilenet v3

MobileNetV3 architecture from "Searching for MobileNetV3" https://arxiv.org/abs/1905.02244?context=cs.

For the Pytorch implementation, you can refer to mobilenetv3.pytorch

Following tricks are used in this mobilenet,

  • Hsigmoid is used in mobilenet v3. We create a plugin in tensorrt.
  • Batchnorm layer, implemented by scale layer.
// 1. generate mbv3_small.wts/mbv3_large.wts from pytorch implementation

// 2. put mbv3_small.wts/mbv3_large.wts into tensorrtx/mobilenetv3

// 3. build and run

cd tensorrtx/mobilenetv3

mkdir build

cd build

cmake ..

make

sudo ./mobilenetv3 -s small(or large) // serialize model to plan file i.e. 'mobilenetv3_small.engine'

sudo ./mobilenetv3 -d small(or large)  // deserialize plan file and run inference

// 4. see if the output is same as pytorch implementation