GithubHelp home page GithubHelp logo

liangfu / mxnet-mobilenet-v2 Goto Github PK

View Code? Open in Web Editor NEW
129.0 10.0 20.0 110.54 MB

Reproduction of MobileNetV2 using MXNet

Python 95.25% Shell 2.65% Makefile 0.40% C++ 1.70%
mobilenetv2 mxnet reproduction

mxnet-mobilenet-v2's Introduction

Reproduction of MobileNetV2 using MXNet

This is a MXNet implementation of MobileNetV2 architecture as described in the paper Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation.

Pretrained Models on ImageNet

We provide pretrained MobileNet models on ImageNet, which achieve slightly lower accuracy rates than the original ones reported in the paper. We applied the augmentation strategy that use 480xN as input, and random scale between 0.533 ~ 1.0 at early training stages.

Here is the top-1/5 accuracy rates by using single center crop (crop size: 224x224, image size: 256xN) on validation set:

Network Multiplier Top-1 Top-5
MobileNet V2 1.0 71.75 90.15
MobileNet V2 1.4 73.09 91.09

More pretrained models with different multiplier settings would be uploaded later.

Normalization

The input images are substrated by mean RGB = [ 123.68, 116.78, 103.94 ].

Inference with Python upon NNVM

The inference python script is relatively independent from MXNet, it relies on nnvm to build a computation graph and perform the inference operations. Since nnvm is built to support neural network inference on any device enabled with OpenCL, therefore, it's quite efficient to predict on an Intel/AMD/Mali GPU. Here is an concrete example:

>> python from_mxnet.py
[14:52:11] src/runtime/opencl/opencl_device_api.cc:205: Initialize OpenCL platform 'Intel Gen OCL Driver'
[14:52:12] src/runtime/opencl/opencl_device_api.cc:230: opencl(0)='Intel(R) HD Graphics Skylake ULT GT2' cl_device_id=0x7f091bbd2bc0
elapsed: 2992.1 ms (2991.7 ms)
('TVM prediction top-1:', 281, 'n02123045 tabby, tabby cat\n')
('TVM prediction top-2:', 285, 'n02124075 Egyptian cat\n')
('TVM prediction top-3:', 282, 'n02123159 tiger cat\n')
('TVM prediction top-4:', 278, 'n02119789 kit fox, Vulpes macrotis\n')
('TVM prediction top-5:', 287, 'n02127052 lynx, catamount\n')
elapsed: 63.3 ms (62.8 ms)
('TVM prediction top-1:', 281, 'n02123045 tabby, tabby cat\n')
('TVM prediction top-2:', 285, 'n02124075 Egyptian cat\n')
('TVM prediction top-3:', 282, 'n02123159 tiger cat\n')
('TVM prediction top-4:', 278, 'n02119789 kit fox, Vulpes macrotis\n')
('TVM prediction top-5:', 287, 'n02127052 lynx, catamount\n')
elapsed: 62.6 ms (62.1 ms)
('TVM prediction top-1:', 281, 'n02123045 tabby, tabby cat\n')
('TVM prediction top-2:', 285, 'n02124075 Egyptian cat\n')
('TVM prediction top-3:', 282, 'n02123159 tiger cat\n')
('TVM prediction top-4:', 278, 'n02119789 kit fox, Vulpes macrotis\n')
('TVM prediction top-5:', 287, 'n02127052 lynx, catamount\n')

Inference with C++ upon TVM

The inference python script is relatively independent from MXNet, it relies on nnvm to build a computation graph and perform the inference operations. Since nnvm is built to support neural network inference on any device enabled with OpenCL, therefore, it's quite efficient to predict on an Intel/AMD/Mali GPU. Here is an concrete example:

$ cd tvm-predict-cpp
$ ./run_example.sh
Build the libraries..
make: Nothing to be done for 'all'.
Run the example
Run the deployment with all in one packed library...
The maximum position in output vector is: 281

[NEW!] Quantized Inference (INT16)

Taking advantage of the low-bit quantization feature #2116 in TVM, we can now perform 16-bit inference on CPU. Both timing and accuracy results are very promissing.

$ python eval_quantized.py
[09:26:01] src/engine/engine.cc:55: MXNet start using engine: ThreadedEngine
INFO:root:Namespace(batch_size=1, dtype_input='int16', dtype_output='int32', global_scale=256.0, log_interval=10, model='models/imagenet1k-mnetv2-1_0', nbit_input=16, nbit_output=32, num_classes=1000, original=False, rec_val='~/.mxnet/datasets/imagenet/rec/val.rec', simulated=False, target='llvm')
qconfig(nbit_input=16, nbit_weight=16, nbit_activation=32, global_scale=256.000000, skip_k_conv==0, round_for_shift==1, store_lowbit_output==0, debug_enabled_ops==(nullptr), use_stop_fusion==1)
INFO:root:Finish building model models/imagenet1k-mnetv2-1_0...
[09:26:16] src/io/iter_image_recordio_2.cc:172: ImageRecordIOParser2: /home/liangfu/.mxnet/datasets/imagenet/rec/val.rec, use 1 threads for decoding..
INFO:root:[10 samples] validation: acc-top1=0.600000 acc-top5=0.900000, speed=16.5fps
INFO:root:[20 samples] validation: acc-top1=0.700000 acc-top5=0.950000, speed=16.5fps
INFO:root:[30 samples] validation: acc-top1=0.700000 acc-top5=0.966667, speed=16.3fps
INFO:root:[40 samples] validation: acc-top1=0.700000 acc-top5=0.950000, speed=16.4fps
INFO:root:[50 samples] validation: acc-top1=0.700000 acc-top5=0.940000, speed=16.4fps
INFO:root:[60 samples] validation: acc-top1=0.700000 acc-top5=0.916667, speed=16.4fps
INFO:root:[70 samples] validation: acc-top1=0.728571 acc-top5=0.914286, speed=16.4fps
INFO:root:[80 samples] validation: acc-top1=0.725000 acc-top5=0.912500, speed=16.4fps
INFO:root:[90 samples] validation: acc-top1=0.711111 acc-top5=0.900000, speed=16.2fps
INFO:root:[100 samples] validation: acc-top1=0.690000 acc-top5=0.910000, speed=15.5fps
INFO:root:[final] validation: acc-top1=0.690000 acc-top5=0.910000

Known Issues

Current implementation of dmlc/nnvm requires a merge with the PR submission here. For a quick solution, you can simply add 'clip' to the _identity_list variable in frontend/mxnet.py .

Miscellaneous

For Gluon version of MobileNetV2, please refer to chinakook/MobileNetV2.mxnet.

License

MIT License

mxnet-mobilenet-v2's People

Contributors

liangfu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mxnet-mobilenet-v2's Issues

training details

Hi, thanks for your contribution first. I am quite interested in training details of mobilenet v2. Is the current train_imagenet.py exactly the setting to reproduce 72.45 accuracy? Thanks.

Error on inference

HI Running the script from_mxnet.py on hikey 970 board with arm5 and MALI GPU, I get this error:
LLVM ERROR: Only small and large code models are allowed on AArch64
If I disable LLVM I get an error that it is disabled. any suggestions? thanks

Questions regarding training parameters

First of all thank you for providing the training script and parameters about MobileNetV2 (the first repo I've ever seen).

I'm reproducing it for GluonCV thus have a couple of questions regarding the training:

  1. How did you decide to set the number of epoch to 480 and batch size to 160?
  2. Have you tried to train other MobileNetV2, i.e. 0.75, 0.5.
  3. Have you found a significant difference between training with/without your PR for nnvm?

I appreciate your help with my questions.

error when running python2 ./from_mxnet.py

Any idea why clip is not supported in nnvm belo. My nnvm is the latest one.

TVM: Initializing cython mode...
/home/firefly/2TB/src/firefly/incubator-mxnet-04-13/python/mxnet/init.pyc
/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/init.pyc
/usr/local/lib/python2.7/dist-packages/tvm-0.2.0-py2.7-linux-aarch64.egg/tvm/init.pyc
('x', (1, 3, 224, 224))
Traceback (most recent call last):
File "./from_mxnet.py", line 82, in
nnvm_sym, nnvm_params = nnvm.frontend.from_mxnet(mx_sym, args, auxs)
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 354, in from_mxnet
sym = _from_mxnet_impl(symbol, {})
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 317, in _from_mxnet_impl
childs = [_from_mxnet_impl(childs[i], graph) for i in range(len(childs.list_outputs()))]
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 319, in _from_mxnet_impl
node = _convert_symbol(op_name, childs, attr)
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 278, in _convert_symbol
_raise_not_supported('Operator: ' + op_name)
File "/home/firefly/2TB/src/firefly/nnvm-04-12/python/nnvm/frontend/mxnet.py", line 24, in _raise_not_supported
raise NotImplementedError(err)
NotImplementedError: Operator: clip is not supported in nnvm.

Thanks,

mobilenetv2 + detection training problems

thanks for your great work!!

I have some questions.
I use this model(multiplier = 1.0) to train my detection model and I have to resize my input probably to
300x300 or 512x512 or 416x416,but the pretrained model you provided is 224x224,If this will cause some problems to train detection model ?

thanks for your suggestions.

MobileNet v2

I'm trying to retrain mobilenet v2 such that I already have a pre-trained model (on coco) with weights and I just want to train the last few layers with new images with objects from coco and the model just fine-tunes to that to increase accuracy without losing out on any pre-existing knowledge of all objects on coco. Basically just fine tune to new images. Not customization. How can I do this?

training time cost question

Hi @liangfu ,

Nice work and performance!
Would you please share the training cost here? e.g. GPU detail, training hours.
Since i have only 1080ti and seems like training imagenet from scratch will takes too much time.
Thanks very much!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.