CompiledProgram¶
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])