triggerflow 0.2.8__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
triggerflow/core.py CHANGED
@@ -87,6 +87,15 @@ class HLS4MLStrategy(CompilerStrategy):
87
87
  for key in ["project_name", "namespace", "io_type", "backend", "write_weights_txt"]:
88
88
  if key in config:
89
89
  hls_kwargs[key] = config[key]
90
+
91
+ if config and "Model" in config:
92
+ for key, value in config["Model"].items():
93
+ if isinstance(value, dict):
94
+ for layer, layer_config in value.items():
95
+ if layer in hls_config["LayerName"]:
96
+ hls_config["LayerName"][layer][key] = layer_config
97
+ else:
98
+ hls_config["Model"][key] = value
90
99
 
91
100
  firmware_model = hls4ml.converters.convert_from_keras_model(
92
101
  model,
@@ -123,6 +132,7 @@ class ConiferStrategy(CompilerStrategy):
123
132
  cfg['ProjectName'] = config['project_name']
124
133
  cfg['XilinxPart'] = config['fpga_part']
125
134
  cfg['ClockPeriod'] = config['clock_period']
135
+ cfg['Precision'] = config['Precision']
126
136
 
127
137
  if config:
128
138
  for key, value in config.items():
@@ -222,9 +232,10 @@ class ConverterFactory:
222
232
  @staticmethod
223
233
  def create_converter(ml_backend: str, compiler: str) -> ModelConverter:
224
234
  if ml_backend.lower() == "keras" and compiler.lower() == "hls4ml":
225
- return KerasToQONNXConverter()
226
- else:
227
- return NoOpConverter()
235
+ import keras
236
+ if not keras.__version__.startswith("3"):
237
+ return KerasToQONNXConverter()
238
+ return NoOpConverter()
228
239
 
229
240
 
230
241
  class CompilerFactory:
@@ -274,7 +285,7 @@ class WorkspaceManager:
274
285
  def save_native_model(self, model, ml_backend: str):
275
286
  """Save the native model to workspace"""
276
287
  if ml_backend.lower() == "keras":
277
- model.save(self.workspace / "keras_model")
288
+ model.save(self.workspace / "keras_model.h5")
278
289
  elif ml_backend.lower() == "xgboost":
279
290
  model.save_model(str(self.workspace / "xgb_model.json"))
280
291
 
@@ -599,4 +610,4 @@ class TriggerModel:
599
610
  obj.converter = ConverterFactory.create_converter(obj.ml_backend, obj.compiler)
600
611
  obj.dataset_object = None
601
612
 
602
- return obj
613
+ return obj
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: triggerflow
3
- Version: 0.2.8
3
+ Version: 0.3.0
4
4
  Summary: Utilities for ML models targeting hardware triggers
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: License :: OSI Approved :: MIT License
@@ -6,7 +6,7 @@ trigger_loader/loader.py,sha256=wMkeZ3k36wpxt-B8OpKOa6j7z0-fnJUqQ-5AbVjNpBM,5158
6
6
  trigger_loader/processor.py,sha256=cvBfYmvcr4FLzOHgGE50oy7EkFzFaV80Z_66amqfsEY,7724
7
7
  triggerflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  triggerflow/cli.py,sha256=ZNQb3XQN8Ir6Hp6KX_ugec9bm2kqxLNZ0KdVGJmnqFA,4498
9
- triggerflow/core.py,sha256=WlIYCKzd2NQJlr8Rw2t9zFvvNPZUlWMEIgkU-ov2E3E,22228
9
+ triggerflow/core.py,sha256=yWu3Jt3M71u6BVg0lyu9OywONOlKBOJKBpbRQxGX-oM,22770
10
10
  triggerflow/mlflow_wrapper.py,sha256=yCaIS-H7oC2KxnExj24ka9ylF4A1wgzRIpc7Y43ervI,10667
11
11
  triggerflow/interfaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
12
  triggerflow/interfaces/uGT.py,sha256=aPIYorMrISie1-BSUr-ywWF5AvHruGhGx4ibg21sCMs,4014
@@ -95,8 +95,8 @@ triggerflow/templates/makefile_version,sha256=6kFc_u2oiM9l2rH7RK_BLzdZu1ZEK8PQTQ
95
95
  triggerflow/templates/model-gt.cpp,sha256=zceVNNIvHx0EK1SoyBglC-1mR_l8q-HrSCFx9-lKE0I,2974
96
96
  triggerflow/templates/model_template.cpp,sha256=Uh80AwDAcFlseonEwV7_HqD85ALs0IPG5JfVT204d5k,1887
97
97
  triggerflow/templates/scales.h,sha256=MFcB5S0DEvfzHuUhyZqILR0O4ktugOG-fLnuCDUUewM,373
98
- triggerflow-0.2.8.dist-info/METADATA,sha256=2qmDnjUtNSN8MCMKqfUcvmATeGw-920S-QTOpH9w66g,5535
99
- triggerflow-0.2.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- triggerflow-0.2.8.dist-info/entry_points.txt,sha256=5QSV9YDseB_FqgVh9q10BdL4b1I6t68rGwPLXgVL60g,53
101
- triggerflow-0.2.8.dist-info/top_level.txt,sha256=cX0jkuM9tfxGp002ZBQ1AYgx-6D_NgBtomgPL0WA9bE,43
102
- triggerflow-0.2.8.dist-info/RECORD,,
98
+ triggerflow-0.3.0.dist-info/METADATA,sha256=rlA9NvP6ZqVwrKqu7X2NA0OllTvO-V5om9YW-fUMsPM,5535
99
+ triggerflow-0.3.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
100
+ triggerflow-0.3.0.dist-info/entry_points.txt,sha256=5QSV9YDseB_FqgVh9q10BdL4b1I6t68rGwPLXgVL60g,53
101
+ triggerflow-0.3.0.dist-info/top_level.txt,sha256=cX0jkuM9tfxGp002ZBQ1AYgx-6D_NgBtomgPL0WA9bE,43
102
+ triggerflow-0.3.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5