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')
class hls4ml.converters.keras_v3.core.ReshapeHandler

Bases: KerasV3LayerHandler

handle(layer: keras.layers.Reshape, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
handles = ('keras.src.layers.reshaping.reshape.Reshape', 'keras.src.layers.reshaping.flatten.Flatten')
class hls4ml.converters.keras_v3.core.SoftmaxHandler

Bases: KerasV3LayerHandler

handle(layer: keras.layers.Softmax, in_tensors: Sequence[KerasTensor], out_tensors: Sequence[KerasTensor])
handles = ('keras.src.layers.activations.softmax.Softmax',)

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')

Module contents