hls4ml.converters.keras_v3 package
Submodules
hls4ml.converters.keras_v3.conv module
- class hls4ml.converters.keras_v3.conv.ConvHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.Conv1D | keras.layers.Conv2D | keras.layers.DepthwiseConv1D | keras.layers.DepthwiseConv2D, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.convolutional.conv1d.Conv1D', 'keras.src.layers.convolutional.conv2d.Conv2D', 'keras.src.layers.convolutional.depthwise_conv1d.DepthwiseConv1D', 'keras.src.layers.convolutional.depthwise_conv2d.DepthwiseConv2D', 'keras.src.layers.convolutional.separable_conv1d.SeparableConv1D', 'keras.src.layers.convolutional.separable_conv2d.SeparableConv2D')
- hls4ml.converters.keras_v3.conv.gen_conv_config(in_shape: tuple[int, ...], out_shape: tuple[int, ...], ker_px_shape: tuple[int, ...], strides: tuple[int, ...], padding: str, data_format: str, name: str) dict[str, Any]
hls4ml.converters.keras_v3.core module
- class hls4ml.converters.keras_v3.core.ActivationHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.Activation, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.activations.activation.Activation',)
- class hls4ml.converters.keras_v3.core.DenseHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.Dense, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.core.dense.Dense',)
- class hls4ml.converters.keras_v3.core.EluHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.ELU, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.activations.elu.ELU',)
- class hls4ml.converters.keras_v3.core.InputHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.InputLayer, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.core.input_layer.InputLayer',)
- class hls4ml.converters.keras_v3.core.PermuteHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.Permute, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.reshaping.permute.Permute',)
- class hls4ml.converters.keras_v3.core.ReLUHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.ReLU, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.activations.leaky_relu.LeakyReLU', 'keras.src.layers.activations.prelu.PReLU', 'keras.src.layers.activations.relu.ReLU')
hls4ml.converters.keras_v3.einsum_dense module
- class hls4ml.converters.keras_v3.einsum_dense.EinsumDenseHandler
Bases:
KerasV3LayerHandler
- handle(layer: keras.layers.EinsumDense, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.core.einsum_dense.EinsumDense',)
- hls4ml.converters.keras_v3.einsum_dense.strip_batch_dim(equation: str, einsum_dense: bool = True)
Remove the batch dimension from the equation.
- Parameters:
equation (str) – The einsum equation.
einsum_dense (bool) – Whether the equation is for EinsumDense layer.
- Returns:
The einsum equation without the batch dimension.
- Return type:
str
hls4ml.converters.keras_v3.merge module
- class hls4ml.converters.keras_v3.merge.MergeHandler
Bases:
KerasV3LayerHandler
- handle(layer: Merge, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor], cls_name: str | None = None)
- handles = ('keras.src.layers.merging.add.Add', 'keras.src.layers.merging.multiply.Multiply', 'keras.src.layers.merging.average.Average', 'keras.src.layers.merging.maximum.Maximum', 'keras.src.layers.merging.minimum.Minimum', 'keras.src.layers.merging.concatenate.Concatenate', 'keras.src.layers.merging.subtract.Subtract', 'keras.src.layers.merging.dot.Dot')
hls4ml.converters.keras_v3.pooling module
- class hls4ml.converters.keras_v3.pooling.PoolingHandler
Bases:
KerasV3LayerHandler
- handle(layer: BasePooling | BaseGlobalPooling, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
- handles = ('keras.src.layers.pooling.max_pooling1d.MaxPooling1D', 'keras.src.layers.pooling.max_pooling2d.MaxPooling2D', 'keras.src.layers.pooling.max_pooling3d.MaxPooling3D', 'keras.src.layers.pooling.average_pooling1d.AveragePooling1D', 'keras.src.layers.pooling.average_pooling2d.AveragePooling2D', 'keras.src.layers.pooling.average_pooling3d.AveragePooling3D', 'keras.src.layers.pooling.global_average_pooling1d.GlobalAveragePooling1D', 'keras.src.layers.pooling.global_average_pooling2d.GlobalAveragePooling2D', 'keras.src.layers.pooling.global_average_pooling3d.GlobalAveragePooling3D', 'keras.src.layers.pooling.global_max_pooling1d.GlobalMaxPooling1D', 'keras.src.layers.pooling.global_max_pooling2d.GlobalMaxPooling2D', 'keras.src.layers.pooling.global_max_pooling3d.GlobalMaxPooling3D')