@@ -446,7 +446,7 @@ def random_data_generator(low, high, shapes, lod_levels, for_parallel=True):
446
446
return monkey_patch_reader_methods (main_prog_var )
447
447
448
448
449
- def py_reader (capacity , shapes , lod_levels , dtypes ):
449
+ def py_reader (capacity , shapes , dtypes , lod_levels = None ):
450
450
"""
451
451
Create a reader and blocking queue for data feeding in Python
452
452
@@ -461,8 +461,8 @@ def py_reader(capacity, shapes, lod_levels, dtypes):
461
461
Args:
462
462
capacity(int): The maximum capacity of the BlockingQueue.
463
463
shapes(list): List of tuples which declaring data shapes.
464
+ dtypes(list): List of strs which declaring data type.
464
465
lod_levels(list): List of ints which declaring data lod_level.
465
- dtypes(list): List of strs which declaring data type.
466
466
467
467
Returns:
468
468
tuple(Variable, BlockingQueue):
@@ -477,7 +477,6 @@ def py_reader(capacity, shapes, lod_levels, dtypes):
477
477
reader, queue = fluid.layers.py_reader(
478
478
capacity=10,
479
479
shapes=[[-1,3,224,224], [-1,1]],
480
- lod_levels=[0, 0],
481
480
dtypes=['float32', 'int64'])
482
481
# Via the reader, we can use 'read_file' layer to get data:
483
482
image, label = fluid.layers.read_file(reader)
@@ -501,6 +500,9 @@ def feed_data(queue, feed_images, feed_labels):
501
500
shape_concat .extend (shape )
502
501
ranks .append (len (shape ))
503
502
503
+ if lod_levels is None :
504
+ lod_levels = [0 ] * len (shapes )
505
+
504
506
queue_name = unique_name ('lod_tensor_blocking_queue' )
505
507
var = global_scope ().var (queue_name )
506
508
feed_queue = core .init_lod_tensor_blocking_queue (var , capacity , shapes )
0 commit comments