Skip to content

Commit 3a55983

Browse files
committed
handle case where layer precision is a string
1 parent 9dbcbde commit 3a55983

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

hls4ml/model/optimizer/passes/seperable_to_dw_conv.py

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,18 @@ def transform(self, model, node):
5555

5656
if dw_layer_config:
5757
dw_precision_cfg = dw_layer_config.setdefault('Precision', {})
58-
if 'depthwise' in dw_precision_cfg:
59-
dw_precision_cfg['weight'] = dw_precision_cfg['depthwise']
60-
del dw_precision_cfg['depthwise']
61-
if 'depthwise_accum' in dw_precision_cfg:
62-
dw_precision_cfg['accum'] = dw_precision_cfg['depthwise_accum']
63-
del dw_precision_cfg['depthwise_accum']
64-
if 'depthwise_result' in dw_precision_cfg:
65-
dw_precision_cfg['result'] = dw_precision_cfg['depthwise_result']
66-
del dw_precision_cfg['depthwise_result']
67-
dw_precision_cfg.pop('pointwise', None)
68-
dw_precision_cfg.pop('pointwise_accum', None)
58+
if isinstance(dw_precision_cfg, dict):
59+
if 'depthwise' in dw_precision_cfg:
60+
dw_precision_cfg['weight'] = dw_precision_cfg['depthwise']
61+
del dw_precision_cfg['depthwise']
62+
if 'depthwise_accum' in dw_precision_cfg:
63+
dw_precision_cfg['accum'] = dw_precision_cfg['depthwise_accum']
64+
del dw_precision_cfg['depthwise_accum']
65+
if 'depthwise_result' in dw_precision_cfg:
66+
dw_precision_cfg['result'] = dw_precision_cfg['depthwise_result']
67+
del dw_precision_cfg['depthwise_result']
68+
dw_precision_cfg.pop('pointwise', None)
69+
dw_precision_cfg.pop('pointwise_accum', None)
6970
model.config.set_name_config(dw_name, dw_layer_config)
7071
model.config.parse_name_config(dw_name, dw_layer_config)
7172

@@ -84,17 +85,18 @@ def transform(self, model, node):
8485

8586
if pw_layer_config:
8687
pw_precision_cfg = pw_layer_config.setdefault('Precision', {})
87-
if 'pointwise' in pw_precision_cfg:
88-
pw_precision_cfg['weight'] = pw_precision_cfg['pointwise']
89-
del pw_precision_cfg['pointwise']
90-
if 'pointwise_accum' in pw_precision_cfg:
91-
pw_precision_cfg['accum'] = pw_precision_cfg['pointwise_accum']
92-
del pw_precision_cfg['pointwise_accum']
93-
if 'pointwise_result' in pw_precision_cfg:
94-
pw_precision_cfg['result'] = pw_precision_cfg['pointwise_result']
95-
del pw_precision_cfg['pointwise_result']
96-
pw_precision_cfg.pop('depthwise', None)
97-
pw_precision_cfg.pop('depthwise_accum', None)
88+
if isinstance(pw_precision_cfg, dict):
89+
if 'pointwise' in pw_precision_cfg:
90+
pw_precision_cfg['weight'] = pw_precision_cfg['pointwise']
91+
del pw_precision_cfg['pointwise']
92+
if 'pointwise_accum' in pw_precision_cfg:
93+
pw_precision_cfg['accum'] = pw_precision_cfg['pointwise_accum']
94+
del pw_precision_cfg['pointwise_accum']
95+
if 'pointwise_result' in pw_precision_cfg:
96+
pw_precision_cfg['result'] = pw_precision_cfg['pointwise_result']
97+
del pw_precision_cfg['pointwise_result']
98+
pw_precision_cfg.pop('depthwise', None)
99+
pw_precision_cfg.pop('depthwise_accum', None)
98100
model.config.set_name_config(pw_name, pw_layer_config)
99101
model.config.parse_name_config(pw_name, pw_layer_config)
100102

0 commit comments

Comments
 (0)