执行引擎

Executor 实现了一个简易的执行器,所有的操作在其中顺序执行。你可以在 Python 脚本中运行 Executor 。PaddlePaddle Fluid 中有两种执行器。一种是 Executor 默认的单线程执行器,另一种是并行计算执行器,在 数据并行执行引擎 中进行了解释。Executor数据并行执行引擎 的配置不同,这可能会给部分用户带来困惑。为使执行器更加灵活,我们引入了 CompiledProgramCompiledProgram 用于把一个程序转换为不同的优化组合,可以通过 Executor 运行。

Executor 的逻辑非常简单。建议在调试阶段用 Executor 在一台计算机上完整地运行模型,然后转向多设备或多台计算机计算。

Executor 在构造时接受一个 Place ,它既可能是 api_fluid_CPUPlace 也可能是 api_fluid_CUDAPlace

System Message: ERROR/3 (/FluidDoc/docs/api_guides/low_level/executor.rst, line 13)

Error in “code-block” directive: maximum 1 argument(s) allowed, 17 supplied.

.. code-block:: python
    # 首先创建 Executor。
    place = fluid.CUDAPlace(0) if use_cuda else fluid.CPUPlace()
    exe = fluid.Executor(place)
    # 运行启动程序仅一次。
    exe.run(fluid.default_startup_program())

    # 直接运行主程序。
    loss, = exe.run(fluid.default_main_program(),
                    feed=feed_dict,
                    fetch_list=[loss.name])

System Message: WARNING/2 (/FluidDoc/docs/api_guides/low_level/executor.rst, line 24)

Explicit markup ends without a blank line; unexpected unindent.

简单样例请参照 basics_fit_a_line

  • 相关 API :

System Message: WARNING/2 (/FluidDoc/docs/api_guides/low_level/executor.rst, line 27)

Bullet list ends without a blank line; unexpected unindent.