hls4ml.model.optimizer.passes package¶
Submodules¶
hls4ml.model.optimizer.passes.bn_fuse module¶
-
class
hls4ml.model.optimizer.passes.bn_fuse.
FuseBatchNormalization
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.bn_quant module¶
-
class
hls4ml.model.optimizer.passes.bn_quant.
BatchNormalizationQuantizedTanh
(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer
Merged Batch Normalization and quantized (binary or ternary) Tanh layer. The mean, variance, beta, gamma parameters are folded into the threshold(s) at which the sign of the input flips after the quantized (binary or ternary) Tanh activation.
-
config_cpp
()¶
-
function_cpp
()¶
-
initialize
()¶
-
-
class
hls4ml.model.optimizer.passes.bn_quant.
MergeBatchNormAndQuantizedTanh
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
-
class
hls4ml.model.optimizer.passes.bn_quant.
QuantizeDenseOutput
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.clone module¶
-
class
hls4ml.model.optimizer.passes.clone.
Clone
(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer
Inserted after the layer whose output is used more than once.
-
config_cpp
()¶
-
function_cpp
()¶
-
initialize
()¶
-
-
class
hls4ml.model.optimizer.passes.clone.
CloneOutput
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
Clones streams that are used multiple times
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.conv_same_pad module¶
-
class
hls4ml.model.optimizer.passes.conv_same_pad.
InsertZeroPaddingBeforeConv1D
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
-
class
hls4ml.model.optimizer.passes.conv_same_pad.
InsertZeroPaddingBeforeConv2D
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.fuse_biasadd module¶
-
class
hls4ml.model.optimizer.passes.fuse_biasadd.
FuseBiasAdd
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
Fuses BiasAdd into Dense/Conv2D layer (common in TF models).
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.nop module¶
-
class
hls4ml.model.optimizer.passes.nop.
EliminateLinearActivation
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
hls4ml.model.optimizer.passes.pointwise module¶
-
class
hls4ml.model.optimizer.passes.pointwise.
OptimizePointwiseConv
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
-
match
(node)¶
-
transform
(model, node)¶
-
-
class
hls4ml.model.optimizer.passes.pointwise.
PointwiseConv1D
(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Conv1D
Optimized Conv1D implementation for 1x1 kernels.
-
class
hls4ml.model.optimizer.passes.pointwise.
PointwiseConv2D
(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Conv2D
Optimized Conv2D implementation for 1x1 kernels.
hls4ml.model.optimizer.passes.qkeras module¶
hls4ml.model.optimizer.passes.repack_stream module¶
-
class
hls4ml.model.optimizer.passes.repack_stream.
Repack
(model, name, attributes, inputs, outputs=None)¶ Bases:
hls4ml.model.hls_layers.Layer
Inserted between layers with different packing factors.
-
config_cpp
()¶
-
function_cpp
()¶
-
initialize
()¶
-
-
class
hls4ml.model.optimizer.passes.repack_stream.
ReshapeStream
¶ Bases:
hls4ml.model.optimizer.optimizer.OptimizerPass
Repacks stream for Reshape layer
-
match
(node)¶
-
transform
(model, node)¶
-