@@ -558,19 +558,20 @@ def find_name(var_list, name):
558
558
if (attr_name not in self .attrs ) or (
559
559
self .attrs [attr_name ] is None ):
560
560
continue
561
- if isinstance (self .attrs [attr_name ], Block ):
561
+ attr_val = self .attrs [attr_name ]
562
+ if isinstance (attr_val , Block ):
562
563
self .desc .set_block_attr (attr_name ,
563
564
self .attrs [attr_name ].desc )
564
- elif isinstance (self . attrs [ attr_name ] , list ) and \
565
- all (isinstance (v , Block ) for v in self . attrs [ attr_name ] ):
566
- self .desc .set_blocks_attr (
567
- attr_name , [v .desc for v in self . attrs [ attr_name ] ])
568
- elif isinstance (self . attrs [ attr_name ] , core .BlockDesc ) or \
569
- isinstance (self . attrs [ attr_name ] , core .ProgramDesc ):
565
+ elif isinstance (attr_val , list ) and attr_val and \
566
+ all (isinstance (v , Block ) for v in attr_val ):
567
+ self .desc .set_blocks_attr (attr_name ,
568
+ [v .desc for v in attr_val ])
569
+ elif isinstance (attr_val , core .BlockDesc ) or \
570
+ isinstance (attr_val , core .ProgramDesc ):
570
571
self .desc .set_serialized_attr (
571
- attr_name , self . attrs [ attr_name ] .serialize_to_string ())
572
+ attr_name , attr_val .serialize_to_string ())
572
573
else :
573
- self .desc .set_attr (attr_name , self . attrs [ attr_name ] )
574
+ self .desc .set_attr (attr_name , attr_val )
574
575
self .desc .check_attrs ()
575
576
if self .has_kernel (type ):
576
577
self .desc .infer_var_type (self .block .desc )
@@ -719,7 +720,8 @@ def set_attr(self, name, val):
719
720
self .attrs [name ] = val
720
721
if isinstance (val , Block ):
721
722
self .desc .set_block_attr (name , val .desc )
722
- elif isinstance (val , list ) and all (isinstance (v , Block ) for v in val ):
723
+ elif isinstance (val , list ) and val and all (
724
+ isinstance (v , Block ) for v in val ):
723
725
self .desc .set_blocks_attr (name , [v .desc for v in val ])
724
726
elif isinstance (val , core .BlockDesc ) or \
725
727
isinstance (val , core .ProgramDesc ):
0 commit comments