zoukankan      html  css  js  c++  java
  • PaddlePaddle Notes

    单机训练和多机训练

    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)

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

    在终端里指定GPU:

    export CUDA_VISIBLE_DEVICES=9 
  • 相关阅读:
    babel的使用及安装配置
    npm install卡顿问题
    盒模型
    安全性
    字符串方法
    vue
    CSS3
    重载运算符
    装箱拆箱
    模板库
  • 原文地址:https://www.cnblogs.com/shona/p/12238659.html
Copyright © 2011-2022 走看看