首页 > 其他 > 详细

PaddlePaddle Notes

时间:2020-01-28 20:14:53      阅读:106      评论:0      收藏:0      [点我收藏+]

单机训练和多机训练

use_cuda = True
place = fluid.CUDAPlace(0) if use_cuda else fluid.CPUPlace()
exe = fluid.Executor(place)
fluid.CUDAPlace

多卡训练:

使用 fluid.compiler.CompiledProgram 来编译 fluid.Program ,然后调用 with_data_parallel 

train_program = fluid.Program()
if not use_cuda:
    os.environ[CPU_NUM] = str(2)

compiled_prog = compiler.CompiledProgram(
    train_program).with_data_parallel(
    loss_name=loss.name)
loss_data, = exe.run(compiled_prog,
                     feed={"X": x},
                     fetch_list=[loss.name])

CompiledProgram 会将传入的 fluid.Program 转为计算图,即Graph,因为 compiled_prog 与传入的 train_program 是完全不同的对象,目前还不能够对 compiled_prog 进行保存。 (如何保存)

 

CUDAPlace

技术分享图片

 

参数:
  • id (int,可选) - GPU的设备ID。如果为 None,则默认会使用 id 为 0 的设备。默认值为 None

代码示例

import paddle.fluid as fluid
gpu_place = fluid.CUDAPlace(0)

 这里编号指的是可见显卡的逻辑编号,而不是显卡实际的编号。

 

PaddlePaddle Notes

原文:https://www.cnblogs.com/shona/p/12238659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!