@@ -36,6 +36,45 @@ def convert_reader_to_recordio_file(
36
36
compressor = core .RecordIOWriter .Compressor .Snappy ,
37
37
max_num_records = 1000 ,
38
38
feed_order = None ):
39
+ """
40
+ Convert a Python Reader to a recordio file.
41
+
42
+ Please see :ref:`api_guide_python_reader` and :ref:`api_guide_reader_op` for
43
+ details.
44
+
45
+ Examples:
46
+
47
+ >>> import paddle.fluid as fluid
48
+ >>> import paddle.dataset.mnist as mnist
49
+ >>> import paddle
50
+ >>>
51
+ >>> tmp_program = fluid.Program()
52
+ >>> with fluid.program_guard(tmp_program):
53
+ >>> img = fluid.layers.data(name='img', shape=[784])
54
+ >>> label = fluid.layers.data(name='label', shape=[1], dtype='int64')
55
+ >>> feeder = fluid.DataFeeder(feed_list=[img, label], place=fluid.CPUPlace())
56
+ >>> # mnist.recordio will be generated in current directory
57
+ >>> fluid.recordio_writer.convert_reader_to_recordio_file(
58
+ >>> filename="mnist.recordio",
59
+ >>> reader_creator=paddle.batch(mnist.train(), batch_size=32),
60
+ >>> feeder=feeder)
61
+
62
+ Args:
63
+ filename(str): The recordio filename.
64
+ reader_creator(callable): The Python Reader Creator. See
65
+ :ref:`api_guide_python_reader`.
66
+ feeder(DataFeeder): The DataFeeder instance. Used to convert
67
+ :code:`reader_creator` to :code: `lod_tensor`
68
+ compressor: Must in fluid.core.RecordIOWriter.Compressor.Snappy or
69
+ fluid.core.RecordIOWriter.Compressor.NoCompress. Use :code:`Snappy`
70
+ by default.
71
+ max_num_records(int): Maximum number of records in one chuck. Each record
72
+ is each return value from reader function
73
+ feed_order(list): The order of variable names that the reader returns
74
+
75
+ Returns:
76
+ int: the number of record that saved.
77
+ """
39
78
if feed_order is None :
40
79
feed_order = feeder .feed_names
41
80
counter = 0
@@ -58,6 +97,13 @@ def convert_reader_to_recordio_files(
58
97
compressor = core .RecordIOWriter .Compressor .Snappy ,
59
98
max_num_records = 1000 ,
60
99
feed_order = None ):
100
+ """
101
+ convert a python reader to many recordio files.
102
+
103
+ This API is basically same as :code:`convert_reader_to_recordio_file`,
104
+ instead of it will create many recordio files. Each file contains at
105
+ most :code:`batch_per_file` records.
106
+ """
61
107
if feed_order is None :
62
108
feed_order = feeder .feed_names
63
109
f_name , f_ext = os .path .splitext (filename )
0 commit comments