qkeras.qlayers
Definition of quantization package.
Functions
Get value range automatically for quantizer. |
|
|
Gets the initializer. |
|
Gets the initializer. |
Classes
|
Clips weight constraint. |
|
Implements quantized activation layers. |
|
[EXPERIMENTAL] Implements an adaptive quantized activation layer using EMA. |
|
Implements a quantized Dense layer. |
|
Wraps around Keras initializer to provide a fanin scaling factor. |
- class qkeras.qlayers.Clip(min_value=0.0, max_value=1.0, constraint=None, quantizer=None)[source]
Bases:
ConstraintClips weight constraint.
- classmethod from_config(config)[source]
Instantiates a weight constraint from a configuration dictionary.
Example:
`python constraint = UnitNorm() config = constraint.get_config() constraint = UnitNorm.from_config(config) `- Parameters:
config – A Python dictionary, the output of get_config().
- Returns:
A keras.constraints.Constraint instance.
- class qkeras.qlayers.QActivation(*args, **kwargs)[source]
Bases:
LayerImplements quantized activation layers.
- classmethod from_config(config)[source]
Creates an operation from its config.
This method is the reverse of get_config, capable of instantiating the same operation from the config dictionary.
Note: If you override this method, you might receive a serialized dtype config, which is a dict. You can deserialize it as follows:
```python if “dtype” in config and isinstance(config[“dtype”], dict):
policy = dtype_policies.deserialize(config[“dtype”])
- Parameters:
config – A Python dictionary, typically the output of get_config.
- Returns:
An operation instance.
- class qkeras.qlayers.QAdaptiveActivation(*args, **kwargs)[source]
Bases:
Layer[EXPERIMENTAL] Implements an adaptive quantized activation layer using EMA.
This layer calculates an exponential moving average of min and max of the activation values to automatically determine the scale (integer bits) of the quantizer used in this layer.
- class qkeras.qlayers.QDense(*args, **kwargs)[source]
Bases:
DenseImplements a quantized Dense layer.
- class qkeras.qlayers.QInitializer(initializer, use_scale, quantizer)[source]
Bases:
InitializerWraps around Keras initializer to provide a fanin scaling factor.
- classmethod from_config(config)[source]
Instantiates an initializer from a configuration dictionary.
Example:
`python initializer = RandomUniform(-1, 1) config = initializer.get_config() initializer = RandomUniform.from_config(config) `- Parameters:
config – A Python dictionary, the output of get_config().
- Returns:
An Initializer instance.
- qkeras.qlayers.get_auto_range_constraint_initializer(quantizer, constraint, initializer)[source]
Get value range automatically for quantizer.
- Parameters:
quantizer – A quantizer class in quantizers.py.
constraint – A keras constraint.
initializer – A keras initializer.
- Returns:
- a tuple (constraint, initializer), where
constraint is clipped by Clip class in this file, based on the value range of quantizer. initializer is initializer contraint by value range of quantizer.