@@ -87,33 +87,28 @@ def _constant_node_attribute_to_tensor(
8787 )
8888 return None
8989
90- # Dispatch table for attribute-to-tensor conversion
91- tensor_converters = {
92- "value" : lambda : attr_value . as_tensor (), # pylint: disable=unnecessary-lambda`
93- "value_int" : lambda : ir .tensor (
90+ if attr_name == "value" :
91+ tensor = attr_value . as_tensor () # type: ignore[union-attr]
92+ elif attr_name == "value_int" :
93+ tensor = ir .tensor (
9494 attr_value .as_int (), dtype = ir .DataType .INT64 , name = initializer_name
95- ),
96- "value_ints" : lambda : ir .tensor (
95+ )
96+ elif attr_name == "value_ints" :
97+ tensor = ir .tensor (
9798 attr_value .as_ints (), dtype = ir .DataType .INT64 , name = initializer_name
98- ),
99- "value_float" : lambda : ir .tensor (
99+ )
100+ elif attr_name == "value_float" :
101+ tensor = ir .tensor (
100102 attr_value .as_float (), dtype = ir .DataType .FLOAT , name = initializer_name
101- ),
102- "value_floats" : lambda : ir .tensor (
103+ )
104+ elif attr_name == "value_floats" :
105+ tensor = ir .tensor (
103106 attr_value .as_floats (), dtype = ir .DataType .FLOAT , name = initializer_name
104- ),
105- "value_string" : lambda : ir .StringTensor (
106- np .array (attr_value .value , dtype = np .bytes_ ), name = initializer_name
107- ),
108- "value_strings" : lambda : ir .StringTensor (
107+ )
108+ elif attr_name in ("value_string" , "value_strings" ):
109+ tensor = ir .StringTensor (
109110 np .array (attr_value .value , dtype = np .bytes_ ), name = initializer_name
110- ),
111- }
112- converter = tensor_converters .get (attr_name )
113- if converter is None :
114- logger .debug (
115- "Unsupported constant node attribute '%s' in node '%s'" , attr_name , node .name
116111 )
117- return None
118-
119- return converter () # type: ignore[return-value]
112+ else :
113+ tensor = None
114+ return tensor # type: ignore[return-value]
0 commit comments