Comments (9)
- For compressed models generated by
UniformQuantTFLearner
, all the operations that match TensorFlow's rule fortf.contrib.quantize.experimental_create_training_graph
will be quantized. For MobileNet-v1 and MobileNet-v2, all operations will be quantized; for ResNet models, some operation may not be quantized (at least this is true for TensorFlow-1.10.0). - For TF-Lite models generated by
tools/conversion/export_quant_tflite_model.py
with theenbl_post_quant
option enabled, all operations will be quantized. - By "chips", which hardware do you refer to exactly? Do you have the corresponding DL inference engine for that hardware, with integer operations supported?
from pocketflow.
em..I am just working on a project, and the other requires a fully_quantized model to run on their 'chips', but i do not know exactly.
from pocketflow.
In short, you need to know which inference engine they are using, and then try to obtain a fully-quantized model (maybe not from PocketFlow) that can be parsed by that inference engine.
from pocketflow.
Will you give the details of how the quantized model weights are saved and how they run mathmatically? So one can implement the model on some specific devices for inference acceleration.
from pocketflow.
@Aspirinkb
For UniformQuantTFLearner
, we are using TensorFlow's quantization-aware training API, i.e.:
tf.contrib.quantize.experimental_create_training_graph(
input_graph=None,
weight_bits=8,
activation_bits=8,
quant_delay=0,
freeze_bn_delay=None,
scope=None
)
to modify the graph and insert quantization operations. You may refer to their documentations to see how it works in details.
from pocketflow.
If I prefer to use UniformQuantLearner
of PocketFlow's to quantize models rather than TensorFlow's, where can I get the details of the quantized models about their weights, graphs and so on? Do you give some inference implementations about that?If not, I think it is a necessary feature of PocketFlow. What do you think?
from pocketflow.
I also have a question about Uniform Quantization Learner
, is this method just quantize weight and activation? So, the data flows int network is still float type, instead ofquantize bits such as 8 or 4 bits?
thanks!
from pocketflow.
@Aspirinkb
UniformQuantLearner
is mainly for research purpose (for instance, to see how well RL can determine the bit-width allocation strategy). An efficient inference implementation heavily relies on the hardware platform and requires lots on work. For efficient deployment, we recommend you to use UniformQuantTFLearner
, which can be deployed under the TensorFlow Lite framework.
from pocketflow.
@wangxianrui
What are you referring to with "data flows in the network"? Gradients are in 32-bit full-precision. Model weights have both quantized version (for forward pass and backward pass) and unquantized version (for gradient update). Layer activations are quantized.
from pocketflow.
Related Issues (20)
- cifar10_channel pruned 的示例,通道剪枝(channel_pruning) 导出修改了计算图之后,速度比之前的更慢了! HOT 1
- Can the compression method provided by pocketflow be applied to MASK R-CNN? HOT 1
- QQ group HOT 1
- 我可以只用模型压缩部分么?
- TypeError: forward_train() missing 1 required positional argument: 'objects'
- Missing 1 required positional argument in constructor : data_format
- Download Pretrain Model But Get 502 Bad Gateway Error HOT 1
- You must feed a value for placeholder tensor 'model/input_1' with dtype float and shape [?,160,240,1]
- Question about export_chn_pruned_tflite_model.py HOT 1
- TF Version compatibility HOT 2
- Failed to create session
- Is it possible to compress the keras model with Pocket Flow
- Question about UniformLearner HOT 2
- Default tensorboard log output is huge
- FRCNN with VOC: Cannot batch tensors with different shapes in component 1.
- IndexError: list index out of range HOT 3
- Other issues:
- auto 通道裁剪问题
- test
- TF-Plus for Multi-GPU Training
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pocketflow.