CompiledProgram

class paddle.static. CompiledProgram ( program_or_graph, build_strategy=None ) [源代码]

CompiledProgram 根据 build_strategy 的配置将输入的 Program 或 Graph 进行转换和优化,例如:计算图中算子融合、计算图执行过程中开启内存/显存优化等,关于 build_strategy 更多信息。请参阅 BuildStrategy

参数

  • program_or_graph (Graph|Program):该参数为被执行的 Program 或 Graph。

  • build_strategy (BuildStrategy):通过配置 build_strategy,对计算图进行转换和优化,例如:计算图中算子融合、计算图执行过程中开启内存/显存优化等。关于 build_strategy 更多信息,请参阅 BuildStrategy。默认为 None。

返回

CompiledProgram,初始化后的 CompiledProgram 对象。

代码示例

>>> import numpy
>>> import paddle
>>> import paddle.static as static

>>> paddle.enable_static()

>>> place = paddle.CPUPlace()
>>> exe = static.Executor(place)

>>> data = static.data(name='X', shape=[None, 1], dtype='float32')
>>> hidden = static.nn.fc(x=data, size=10)
>>> loss = paddle.mean(hidden)
>>> paddle.optimizer.SGD(learning_rate=0.01).minimize(loss)

>>> exe.run(static.default_startup_program())
>>> compiled_prog = static.CompiledProgram(
...     static.default_main_program())

>>> x = numpy.random.random(size=(10, 1)).astype('float32')
>>> loss_data, = exe.run(compiled_prog,
...                     feed={"X": x},
...                     fetch_list=[loss.name])