CompiledProgram

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

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

参数

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

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

返回

CompiledProgram,初始化后的 CompiledProgram 对象。

代码示例

import numpy
import paddle
import paddle.static as static

paddle.enable_static()

place = paddle.CUDAPlace(0) # 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])