Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Requantize] Cleanup and Optimize Lowering #5286

Merged
merged 5 commits into from Apr 12, 2020

Conversation

anijain2305
Copy link
Contributor

@anijain2305 anijain2305 commented Apr 9, 2020

This PR does minor cleanup and optimizes the lowering. Basically, the FixedPointMultiply now takes int32 inputs and gives int32 outputs. Internally it upcast the integers to int64 as before.

I checked the accuracy for all MXNet pre-quantized models, and it is unchanged. Writing down the numbers here for completeness.

Same accuracy before and after this PR (measures on Intel machine)

Model Name Top1 Top5
Resnet18_v1 69.86 89.05
Resnet50_v1 76.16 92.73
Resnet50_v1b 76.56 92.6
Resnet101_v1 76.97 93.09
Resnet152_v2 75.75 92.12
Inception-V3 77.28 93.32
Inception-BN 71.79 90.25
MobileNetV1 71.13 90.16
MobileNetV2 70.14 89.52

This PR helps a lot in improving performance on rasp4. Quantized TFLite mobilenet performance improved from 56 ms to 46 ms. This is mainly due to keeping calculations in int64 to as minimum as possible.

@anijain2305 anijain2305 marked this pull request as ready for review April 10, 2020 16:22
@anijain2305
Copy link
Contributor Author

@yzhliu @vinx13 Please review.

@yzhliu
Copy link
Member

yzhliu commented Apr 12, 2020

Thanks @anijain2305

@yzhliu yzhliu merged commit 92d0ec1 into apache:master Apr 12, 2020
masahi pushed a commit to masahi/tvm that referenced this pull request Apr 12, 2020
* Adding Cast back to Int32 in FixedPointMultiply.

* Removing extra clip.

* Fix space.

* Retrigger.

* Retrigger.
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Apr 16, 2020
* Adding Cast back to Int32 in FixedPointMultiply.

* Removing extra clip.

* Fix space.

* Retrigger.

* Retrigger.
zhiics pushed a commit to neo-ai/tvm that referenced this pull request Apr 17, 2020
* Adding Cast back to Int32 in FixedPointMultiply.

* Removing extra clip.

* Fix space.

* Retrigger.

* Retrigger.
dpankratz pushed a commit to dpankratz/incubator-tvm that referenced this pull request Apr 24, 2020
* Adding Cast back to Int32 in FixedPointMultiply.

* Removing extra clip.

* Fix space.

* Retrigger.

* Retrigger.
shoubhik added a commit to shoubhik/incubator-tvm that referenced this pull request May 12, 2020
monklof pushed a commit to monklof/incubator-tvm that referenced this pull request Jan 22, 2021
…m_data:master to master

* commit 'cd0d52daa6942bdafa9363ff6cfa3d25fcd5b8d6': (824 commits)
  [Intrinsic] Add log1p, ldexp, atan2, hypot, nextafter, copysign (apache#5312)
  [Rust][CI] Restore Rust CI (apache#5137)
  Remove PrimExpr from String (apache#5311)
  [Requantize] Cleanup and Optimize Lowering (apache#5286)
  [IR][TRANSFORM] Enable CopyOnWrite for passes. (apache#5309)
  [PYTORCH]Abs, Arange, Softplus ops (apache#5295)
  [LLVM] Fix generation of LLVM intrinsics (apache#5282)
  [BYOC] Add example of Composite + Annotate for DNNL fused op (apache#5272)
  [Frontend][TensorFlow]Improve TensorFlow Static Shape Tensor Array (apache#5243)
  [RUNTIME] Introduce RValue reference(move) support to TypedPackedFunc (apache#5271)
  [RELAY][FRONTEND][CAFFE2] add Mul and ConvTranspose operator (apache#5302)
  [BYOC] Refine AnnotateTarget and MergeCompilerRegion Passes (apache#5277)
  [CI] Fix the hexagon string (apache#5304)
  [Arith] linear system and equation solver (apache#5171)
  [PYTORCH]Repeat, Reciprocal & Reshape Op support (apache#5280)
  [FRONTEND][TENSORFLOW] Fix gather_nd indices (apache#5279)
  Update device_annotation.cc (apache#5291)
  [REFACTOR][IR] Move to runtime::String (apache#5276)
  [NDArray] Set shape_ in NDArray::FromDLPack (apache#5301)
  [RUNTIME] Initial implementation of Hexagon runtime support (apache#5252)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants