@@ -282,7 +282,7 @@ def _add_suggested_merge(self, symbols, apply=False):
282
282
# when nothing to map to, use the shorter one
283
283
if map_to is None :
284
284
if self .verbose_ > 0 :
285
- logger .warning ("Potential unsafe merge between symbolic expressions: ({})" . format ( "," .join (symbols ) ))
285
+ logger .warning ("Potential unsafe merge between symbolic expressions: (%s)" , "," .join (symbols ))
286
286
symbols_list = list (symbols )
287
287
lens = [len (s ) for s in symbols_list ]
288
288
map_to = symbols_list [lens .index (min (lens ))]
@@ -335,10 +335,7 @@ def _merge_symbols(self, dims):
335
335
int_dim = is_int .index (1 )
336
336
if self .verbose_ > 0 :
337
337
logger .debug (
338
- "dim {} has been merged with value {}" .format (
339
- unique_dims [:int_dim ] + unique_dims [int_dim + 1 :],
340
- unique_dims [int_dim ],
341
- )
338
+ f"dim { unique_dims [:int_dim ] + unique_dims [int_dim + 1 :]} has been merged with value { unique_dims [int_dim ]} "
342
339
)
343
340
self ._check_merged_dims (unique_dims , allow_broadcast = False )
344
341
return unique_dims [int_dim ]
@@ -379,7 +376,7 @@ def _broadcast_shapes(self, shape1, shape2):
379
376
if self .auto_merge_ :
380
377
self ._add_suggested_merge ([dim1 , dim2 ], apply = True )
381
378
else :
382
- logger .warning ("unsupported broadcast between " + str (dim1 ) + " " + str (dim2 ))
379
+ logger .warning ("unsupported broadcast between " + str (dim1 ) + " " + str (dim2 )) # noqa: G003
383
380
new_shape = [new_dim , * new_shape ]
384
381
return new_shape
385
382
@@ -663,12 +660,7 @@ def _new_symbolic_dim(self, prefix, dim):
663
660
664
661
def _new_symbolic_dim_from_output (self , node , out_idx = 0 , dim = 0 ):
665
662
return self ._new_symbolic_dim (
666
- "{}{}_{}_o{}_" .format (
667
- node .op_type ,
668
- self .prefix_ ,
669
- list (self .out_mp_ .graph .node ).index (node ),
670
- out_idx ,
671
- ),
663
+ f"{ node .op_type } { self .prefix_ } _{ list (self .out_mp_ .graph .node ).index (node )} _o{ out_idx } _" ,
672
664
dim ,
673
665
)
674
666
@@ -1216,9 +1208,7 @@ def _infer_Loop(self, node): # noqa: N802
1216
1208
if need_second_infer :
1217
1209
if self .verbose_ > 2 :
1218
1210
logger .debug (
1219
- "Rerun Loop: {}({}...), because of sequence in loop carried variables" .format (
1220
- node .name , node .output [0 ]
1221
- )
1211
+ f"Rerun Loop: { node .name } ({ node .output [0 ]} ...), because of sequence in loop carried variables"
1222
1212
)
1223
1213
self ._onnx_infer_subgraph (node , subgraph , inc_subgraph_id = False )
1224
1214
@@ -1843,7 +1833,7 @@ def handle_negative_index(index, bound):
1843
1833
axes = self ._try_get_value (node , 3 )
1844
1834
steps = self ._try_get_value (node , 4 )
1845
1835
if axes is None and not (starts is None and ends is None ):
1846
- axes = list (range (0 , len (starts if starts is not None else ends )))
1836
+ axes = list (range (len (starts if starts is not None else ends )))
1847
1837
if steps is None and not (starts is None and ends is None ):
1848
1838
steps = [1 ] * len (starts if starts is not None else ends )
1849
1839
axes = as_list (axes , keep_none = True )
@@ -2669,11 +2659,9 @@ def get_prereq(node):
2669
2659
break
2670
2660
2671
2661
if self .verbose_ > 2 :
2672
- logger .debug (node .op_type + ": " + node .name )
2662
+ logger .debug (node .op_type + ": " + node .name ) # noqa: G003
2673
2663
for i , name in enumerate (node .input ):
2674
- logger .debug (
2675
- " Input {}: {} {}" .format (i , name , "initializer" if name in self .initializers_ else "" )
2676
- )
2664
+ logger .debug (" Input %s: %s %s" , i , name , "initializer" if name in self .initializers_ else "" )
2677
2665
2678
2666
# onnx automatically merge dims with value, i.e. Mul(['aaa', 'bbb'], [1000, 1]) -> [1000, 'bbb']
2679
2667
# symbolic shape inference needs to apply merge of 'aaa' -> 1000 in this case
@@ -2722,7 +2710,7 @@ def get_prereq(node):
2722
2710
seq_cls_type = out_type .sequence_type .elem_type .WhichOneof ("value" )
2723
2711
if seq_cls_type == "tensor_type" :
2724
2712
logger .debug (
2725
- " {}: sequence of {} {}" .format (
2713
+ " {}: sequence of {} {}" .format ( # noqa: G001
2726
2714
node .output [i_o ],
2727
2715
str (get_shape_from_value_info (vi )),
2728
2716
onnx .TensorProto .DataType .Name (
@@ -2740,14 +2728,10 @@ def get_prereq(node):
2740
2728
out_type_undefined = out_type .tensor_type .elem_type == onnx .TensorProto .UNDEFINED
2741
2729
if self .verbose_ > 2 :
2742
2730
logger .debug (
2743
- " {}: {} {}" .format (
2744
- node .output [i_o ],
2745
- str (out_shape ),
2746
- onnx .TensorProto .DataType .Name (vi .type .tensor_type .elem_type ),
2747
- )
2731
+ f" { node .output [i_o ]} : { out_shape !s} { onnx .TensorProto .DataType .Name (vi .type .tensor_type .elem_type )} "
2748
2732
)
2749
2733
if node .output [i_o ] in self .sympy_data_ :
2750
- logger .debug (" Sympy Data: " + str (self .sympy_data_ [node .output [i_o ]]))
2734
+ logger .debug (" Sympy Data: " + str (self .sympy_data_ [node .output [i_o ]])) # noqa: G003
2751
2735
2752
2736
# onnx >= 1.11.0, use unk__#index instead of None when the shape dim is uncertain
2753
2737
if (
@@ -2848,24 +2832,16 @@ def get_prereq(node):
2848
2832
if self .verbose_ > 0 :
2849
2833
if is_unknown_op :
2850
2834
logger .debug (
2851
- "Possible unknown op: {} node: {}, guessing {} shape" .format (
2852
- node .op_type , node .name , vi .name
2853
- )
2835
+ f"Possible unknown op: { node .op_type } node: { node .name } , guessing { vi .name } shape"
2854
2836
)
2855
2837
if self .verbose_ > 2 :
2856
- logger .debug (
2857
- " {}: {} {}" .format (
2858
- node .output [i_o ],
2859
- str (new_shape ),
2860
- vi .type .tensor_type .elem_type ,
2861
- )
2862
- )
2838
+ logger .debug (f" { node .output [i_o ]} : { new_shape !s} { vi .type .tensor_type .elem_type } " )
2863
2839
2864
2840
self .run_ = True
2865
2841
continue # continue the inference after guess, no need to stop as no merge is needed
2866
2842
2867
2843
if self .verbose_ > 0 or not self .auto_merge_ or out_type_undefined :
2868
- logger .debug ("Stopping at incomplete shape inference at " + node .op_type + ": " + node .name )
2844
+ logger .debug ("Stopping at incomplete shape inference at %s: %s" , node .op_type , node .name )
2869
2845
logger .debug ("node inputs:" )
2870
2846
for i in node .input :
2871
2847
if i in self .known_vi_ :
@@ -2879,7 +2855,7 @@ def get_prereq(node):
2879
2855
else :
2880
2856
logger .debug (f"not in known_vi_ for { o } " )
2881
2857
if self .auto_merge_ and not out_type_undefined :
2882
- logger .debug ("Merging: " + str (self .suggested_merge_ ))
2858
+ logger .debug ("Merging: " + str (self .suggested_merge_ )) # noqa: G003
2883
2859
return False
2884
2860
2885
2861
self .run_ = False
@@ -2964,9 +2940,9 @@ def parse_arguments():
2964
2940
2965
2941
if __name__ == "__main__" :
2966
2942
args = parse_arguments ()
2967
- logger .info ("input model: " + args .input )
2943
+ logger .info ("input model: " + args .input ) # noqa: G003
2968
2944
if args .output :
2969
- logger .info ("output model " + args .output )
2945
+ logger .info ("output model " + args .output ) # noqa: G003
2970
2946
logger .info ("Doing symbolic shape inference..." )
2971
2947
out_mp = SymbolicShapeInference .infer_shapes (
2972
2948
onnx .load (args .input ),
0 commit comments