Giter Site home page Giter Site logo

quic / aimet Goto Github PK

View Code? Open in Web Editor NEW
1.9K 45.0 350.0 13.38 MB

AIMET is a library that provides advanced quantization and compression techniques for trained neural network models.

Home Page: https://quic.github.io/aimet-pages/index.html

License: Other

Shell 0.53% CMake 1.11% Python 88.29% XSLT 0.07% C++ 9.04% Cuda 0.34% Jupyter Notebook 0.08% HTML 0.48% CSS 0.01% C 0.04%
quantization deep-learning compression open-source machine-learning pruning auto-ml network-compression deep-neural-networks network-quantization

aimet's People

Contributors

quic-akhobare avatar quic-ashvkuma avatar quic-bharathr avatar quic-cgulecha avatar quic-daemyung avatar quic-dkhullar avatar quic-emironov avatar quic-ernst avatar quic-geunlee avatar quic-haijunz avatar quic-hitameht avatar quic-jpolizzi avatar quic-juiylin avatar quic-klhsieh avatar quic-kyunggeu avatar quic-kyuykim avatar quic-mangal avatar quic-manvendd avatar quic-mtuttle avatar quic-pdangi avatar quic-rgite avatar quic-ristha avatar quic-saksrai avatar quic-sendilk avatar quic-seokan avatar quic-shathwar avatar quic-ssiddego avatar quic-sundarr avatar quic-ykota avatar quic-zabrisha 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  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

aimet's Issues

googletest not included in ThirdParty

The CMakeLists.txt in ThirdParty looks for a googltest library. Downloading this is not mentioned as part of the Installation guide and the build fails.

Installation requires too much human input

It would be highly appreciated if you could provide a shell script that automates all the commands required to build the libraries, install and set paths. Also, it would be highly appreciated if you could include library installation procedures within the Dockerfile so that the Docker container with AIMET could be spun up in one go for experiments (instead of manually typing and debugging every line).

Usage

I used the buildandtest docker file. After it gave an interactive terminal i tried importing aimet packages but that didn't work. It threw an import error. I hope I followed the right steps. Please help me with this.

Is there support for BatchNorm?

I get the following error 2020-05-21 16:16:35,240 - Winnow - ERROR - Unsupported op_type Mul, dotted net/Conv2d/BatchNorm/batchnorm_1/mul_1, input_ops: net/Conv2d/Conv2D]

does the 1% loss of resnet require fine-tuning?

Hi, I've tried the snippet of code from Compressing using Channel Pruning in auto mode on torchvision resnet50.

**********************************************************************************************
Compressed Model Statistics
Baseline model accuracy: 0.761580, Compressed model accuracy: 0.001480
Compression ratio for memory=0.731370, mac=0.432465
**********************************************************************************************

The model accuracy before (~76%) after pruning (~0.1%) is very different. Is the reported ~1% loss achieved with fine-tuning? And what is the result we should expect without fine-tuning?

Thanks!

hot to export int8 onnx model?

I need to import onnx into the unity engine, but aimet only exports the 32 float version.
In theory, it can export int8 model by adding the information from encoding json directly to the model inference section, right?

Aimet is a great optimization tool, but I don't use the Qualcomm SDK. Can you support the above features.

Problem during Build code and install

When running: cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../aimet && make -j8

I get the following error:

-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_MAIN_LIBRARY) 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/goel39/AIMET/build
[  2%] Built target gtest
[  5%] Built target MoDlCompressionCuda
[ 10%] Built target TrainingExtensionsTfCuda
[ 16%] Built target MoDlQuantizationCuda
[ 22%] Built target MoDlCompression
[ 40%] Built target MoDlEqualization
[ 59%] Built target MoDlQuantization
[ 62%] Built target gtest_main
[ 67%] Built target PyModelOptimizations
[ 70%] Built target MoDlCompressionTest
[ 83%] Built target MoDlQuantizationTest
[ 86%] Built target MoDlEqualizationTest
[ 88%] Generating build/timestamp, build
No such file or directory
TrainingExtensions/torch/CMakeFiles/TorchCppOps.dir/build.make:61: recipe for target 'TrainingExtensions/torch/build/timestamp' failed
make[2]: *** [TrainingExtensions/torch/build/timestamp] Error 1
CMakeFiles/Makefile2:760: recipe for target 'TrainingExtensions/torch/CMakeFiles/TorchCppOps.dir/all' failed
make[1]: *** [TrainingExtensions/torch/CMakeFiles/TorchCppOps.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 95%] Built target TrainingExtensionsTf
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2```

Am I missing something? I setup the docker container using the docker file successfully. 

Thanks!

compute scalingMatrix23

file: ModelOptimizations/DlEqualization/src/ScaleFactorCalculator.cpp:
According to the equation on line 102, the calculation on line 132 should be:
reScalingMats->scalingMatrix23.at(s) = (cubeRootMat.at(s)) * (1.0f / rangeVec2.at(s));
???

Error when using Dockerfile

Building the Docker image directly from the given Dockerfile results in an error. The error got alleviated when I replaced "pip==9.0.1" with "pip" in the Dockerfile.

Issue with creating docker image

Following the instructions of aimet/USAGE.md, while building the docker, I need to specify the docker's name, and I have defined it as :
docker_image_name='img:f14'

But getting the error that the argument is invalid. I have searched about the issue, and I believe the format of the definition is correct!
Appreciate any help!

evaluate_model and train_model functions not available in the video tutorials

Hello, I'm learning about how to use the Qualcomm aimet toolkit.

I'm watching the video tutorials to reproduce the examples (specifcally this one about quantization: https://www.youtube.com/watch?v=0-i64DelNkI&t=1107s ).
In these videos, the author uses the evaluate_model and train_model functions but I did not found it for download.

Here is the code to import the functions used in the videos:

from pipelines import evaluate_model, train_model

Could you provide these functions?

Thanks in advance.

Support for DepthwiseConv2d

Will there be support for DepthwiseConv2d in the future for Spatial/Weight SVD pruning and Channel Pruning?

Documentation Related Issue

Does the library supports RNN based model, as you haven't mentioned anything about it and also not mentioned any benchmarks on a RNN based model??

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.