Description
im trying to convert an onnx model to hls by using us4ml
i receieved this error after getting this output
Interpreting Model ...
Output layers: ['Softmax']
Input shape: [None, 10, 4]
Topology:
Layer name: Transpose, layer type: Transpose, current shape: [[None, 10, 4]]
Layer name: Conv1D__, layer type: Conv1D, current shape: [[None, 4, 10]]
Layer name: Relu, layer type: Activation, current shape: [[None, 3, 10]]
Layer name: Conv1D__1, layer type: Conv1D, current shape: [[None, 3, 10]]
Layer name: Relu1, layer type: Activation, current shape: [[None, 2, 10]]
Layer name: Conv1D__2, layer type: Conv1D, current shape: [[None, 2, 10]]
Layer name: Relu2, layer type: Activation, current shape: [[None, 1, 10]]
Layer name: Transpose5, layer type: Transpose, current shape: [[None, 1, 10]]
Layer name: , layer type: Dense, current shape: [[None, 10]]
Layer name: Relu3, layer type: Activation, current shape: [[None, 10]]
Layer name: , layer type: Dense, current shape: [[None, 10]]
Layer name: Softmax, layer type: Softmax, current shape: [[None, 5]]
Creating HLS model
TypeError Traceback (most recent call last)
Cell In [31], line 30
28 cfg['OnnxModel'] = model
29 cfg['OutputDir'] = PROJECT_PATH + 'Onnx_two_layer/hls4ml_u250_prj'
---> 30 hls_model = hls4ml.converters.onnx_to_hls(cfg)
31 print('done')
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/converters/onnx_to_hls.py:319, in onnx_to_hls(config)
314 #################
315 ## Generate HLS
316 #################
318 print('Creating HLS model')
--> 319 hls_model = ModelGraph(config, reader, layer_list, input_layers, output_layers)
320 return hls_model
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/model/graph.py:319, in ModelGraph.init(self, config, data_reader, layer_list, inputs, outputs)
316 self._make_graph(layer_list)
318 for flow in self.config.flows:
--> 319 self.apply_flow(flow)
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/model/graph.py:338, in ModelGraph.apply_flow(self, flow)
336 def apply_flow(self, flow):
337 applied_flows = {}
--> 338 self._apply_sub_flow(flow, applied_flows)
339 self._applied_flows.append(applied_flows)
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/model/graph.py:348, in ModelGraph._apply_sub_flow(self, flow_name, applied_flows)
346 for sub_flow in flow.requires:
347 if sub_flow not in applied_flows.keys():
--> 348 self._apply_sub_flow(sub_flow, applied_flows)
350 if len(flow.optimizers) > 0:
351 applied_passes = optimize_model(self, flow.optimizers)
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/model/graph.py:351, in ModelGraph._apply_sub_flow(self, flow_name, applied_flows)
348 self._apply_sub_flow(sub_flow, applied_flows)
350 if len(flow.optimizers) > 0:
--> 351 applied_passes = optimize_model(self, flow.optimizers)
352 else:
353 applied_passes = []
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/model/optimizer/optimizer.py:192, in optimize_model(model, passes)
190 for node in model.graph.values():
191 if opt.match(node):
--> 192 res = opt.transform(model, node)
193 applied_passes.add(opt_name)
194 if res:
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/backends/template.py:20, in Template.transform(self, model, node)
19 def transform(self, model, node):
---> 20 formatted_template = self.format(node)
21 node.set_attr(self.attribute_name, formatted_template)
22 return False
File ~/anaconda3/envs/hls4ml-tutorial/lib/python3.8/site-packages/hls4ml/backends/vivado/passes/reshaping_templates.py:114, in TransposeConfigTemplate.format(self, node)
113 def format(self, node):
--> 114 params = self._default_config_params()
116 return self.template.format(**params)
TypeError: _default_config_params() missing 1 required positional argument: 'layer'