Skip to content

Commit cf7e803

Browse files
authored
Merge branch 'main' into da_custom_layer_2
2 parents 51c68a4 + 7bfad2e commit cf7e803

156 files changed

Lines changed: 541 additions & 490 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

hls4ml/converters/keras_v3/_base.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,8 @@ def default_class_name(self, layer: 'keras.Layer') -> str:
129129
return layer.__class__.__name__
130130

131131
def maybe_get_activation_config(self, layer, out_tensors):
132+
import inspect
133+
132134
import keras
133135

134136
activation = getattr(layer, 'activation', None)
@@ -139,12 +141,31 @@ def maybe_get_activation_config(self, layer, out_tensors):
139141
intermediate_tensor_name = f'{out_tensors[0].name}_activation'
140142
act_cls_name = activation.__name__
141143
act_config = {
142-
'class_name': 'Activation',
143144
'activation': act_cls_name,
144145
'name': f'{name}_{act_cls_name}',
145146
'input_keras_tensor_names': [intermediate_tensor_name],
146147
'output_keras_tensor_names': [out_tensors[0].name],
147148
}
149+
150+
# Check activation type & update parameters
151+
match activation:
152+
case keras.activations.softmax:
153+
class_name = 'Softmax'
154+
act_config['axis'] = -1
155+
case keras.activations.hard_sigmoid:
156+
class_name = 'HardActivation'
157+
case keras.activations.leaky_relu:
158+
class_name = 'LeakyReLU'
159+
signature = inspect.signature(keras.activations.leaky_relu)
160+
act_config['activ_param'] = signature.parameters['negative_slope'].default
161+
case keras.activations.elu:
162+
class_name = 'ELU'
163+
signature = inspect.signature(keras.activations.elu)
164+
act_config['activ_param'] = signature.parameters['alpha'].default
165+
case _:
166+
class_name = 'Activation'
167+
act_config['class_name'] = class_name
168+
148169
return act_config, intermediate_tensor_name
149170
return None, None
150171

test/pytest/baselines/Vitis/2020.1/hls4mlprj_keras_api_dense_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2020.1/test_keras_api_test_dense_io_parallel-Vitis.json

File renamed without changes.

test/pytest/baselines/Vitis/2020.1/hls4mlprj_keras_api_dense_Vitis_io_stream.json renamed to test/pytest/baselines/Vitis/2020.1/test_keras_api_test_dense_io_stream-Vitis.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_elu_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_parallel-Vitis-elu.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_leaky_re_lu_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_parallel-Vitis-leaky_relu.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_p_re_lu_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_parallel-Vitis-prelu.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_relu_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_parallel-Vitis-relu.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_sigmoid_Vitis_io_parallel.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_parallel-Vitis-sigmoid.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_elu_Vitis_io_stream.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_stream-Vitis-elu.json

File renamed without changes.

test/pytest/baselines/Vitis/2023.1/hls4mlprj_keras_api_activations_leaky_re_lu_Vitis_io_stream.json renamed to test/pytest/baselines/Vitis/2023.1/test_keras_api_test_activations_io_stream-Vitis-leaky_relu.json

File renamed without changes.

0 commit comments

Comments
 (0)