From 9a32dad811901820133e47637d4b7440db967c43 Mon Sep 17 00:00:00 2001 From: Shuai Yuan Date: Thu, 20 Jun 2019 19:13:33 +0800 Subject: [PATCH] [DOC] Fix comment code of API create_py_reader_by_data (#18193) * [DOC] Fix comment code of API create_py_reader_by_data. test=develop, test=document_preview * Fix code style of API comment. test=develop,test=document_preview Fix code style of API comment. test=develop,test=document_preview * update api spec of api create_py_reader_by_data * remove default config code. test=develop * remove useless code. test=develop * update create_py_reader_by_data api. test=develop --- paddle/fluid/API.spec | 2 +- python/paddle/fluid/layers/io.py | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/paddle/fluid/API.spec b/paddle/fluid/API.spec index 5556c6206e9..458e68bd93a 100644 --- a/paddle/fluid/API.spec +++ b/paddle/fluid/API.spec @@ -249,7 +249,7 @@ paddle.fluid.layers.batch (ArgSpec(args=['reader', 'batch_size'], varargs=None, paddle.fluid.layers.double_buffer (ArgSpec(args=['reader', 'place', 'name'], varargs=None, keywords=None, defaults=(None, None)), ('document', 'c13b8a8521bea5f8123b925ae2a5d5db')) paddle.fluid.layers.random_data_generator (ArgSpec(args=['low', 'high', 'shapes', 'lod_levels', 'for_parallel'], varargs=None, keywords=None, defaults=(True,)), ('document', '9b7f0f86ec24bbc97643cadcb6499cff')) paddle.fluid.layers.py_reader (ArgSpec(args=['capacity', 'shapes', 'dtypes', 'lod_levels', 'name', 'use_double_buffer'], varargs=None, keywords=None, defaults=(None, None, True)), ('document', 'd78a1c7344955c5caed8dc13adb7beb6')) -paddle.fluid.layers.create_py_reader_by_data (ArgSpec(args=['capacity', 'feed_list', 'name', 'use_double_buffer'], varargs=None, keywords=None, defaults=(None, True)), ('document', 'b42332b894e1e0962c6a43f0151c2640')) +paddle.fluid.layers.create_py_reader_by_data (ArgSpec(args=['capacity', 'feed_list', 'name', 'use_double_buffer'], varargs=None, keywords=None, defaults=(None, True)), ('document', '2edf37d57862b24a7a26aa19a3573f73')) paddle.fluid.layers.Preprocessor.__init__ (ArgSpec(args=['self', 'reader', 'name'], varargs=None, keywords=None, defaults=(None,)), ('document', '6adf97f83acf6453d4a6a4b1070f3754')) paddle.fluid.layers.Preprocessor.block (ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None), ('document', '6adf97f83acf6453d4a6a4b1070f3754')) paddle.fluid.layers.Preprocessor.inputs (ArgSpec(args=['self'], varargs=None, keywords=None, defaults=None), ('document', '6adf97f83acf6453d4a6a4b1070f3754')) diff --git a/python/paddle/fluid/layers/io.py b/python/paddle/fluid/layers/io.py index 718e4a4ec21..c0ba1d2e36a 100644 --- a/python/paddle/fluid/layers/io.py +++ b/python/paddle/fluid/layers/io.py @@ -828,6 +828,7 @@ def create_py_reader_by_data(capacity, import paddle import paddle.fluid as fluid import paddle.dataset.mnist as mnist + import paddle.fluid.compiler as compiler def network(img, label): # User defined network. Here a simple regression as example @@ -835,6 +836,9 @@ def create_py_reader_by_data(capacity, loss = fluid.layers.cross_entropy(input=predict, label=label) return fluid.layers.mean(loss) + MEMORY_OPT = False + USE_CUDA = False + image = fluid.layers.data(name='image', shape=[1, 28, 28], dtype='float32') label = fluid.layers.data(name='label', shape=[1], dtype='int64') reader = fluid.layers.create_py_reader_by_data(capacity=64, @@ -846,14 +850,23 @@ def create_py_reader_by_data(capacity, img, label = fluid.layers.read_file(reader) loss = network(img, label) # some network definition - fluid.Executor(fluid.CUDAPlace(0)).run(fluid.default_startup_program()) + place = fluid.CUDAPlace(0) if USE_CUDA else fluid.CPUPlace() + exe = fluid.Executor(place) + exe.run(fluid.default_startup_program()) - exe = fluid.ParallelExecutor(use_cuda=True, loss_name=loss.name) - for epoch_id in range(10): + build_strategy = fluid.BuildStrategy() + build_strategy.memory_optimize = True if MEMORY_OPT else False + compiled_prog = compiler.CompiledProgram( + fluid.default_main_program()).with_data_parallel( + loss_name=loss.name, + build_strategy=build_strategy, + exec_strategy=exec_strategy) + + for epoch_id in range(2): reader.start() try: while True: - exe.run(fetch_list=[loss.name]) + exe.run(compiled_prog, fetch_list=[loss.name]) except fluid.core.EOFException: reader.reset() """ -- GitLab