关于双卡,四卡环境

话说咱们megstdio上面的双卡,多卡环境怎么使用?还是跟以前一样,选择多卡环境后直接训练就好?不需要像pytorch那样torch.nn.dataparall 是吗?要是真这样,那可太方便啦!哈哈 :grin:


截图的时候手有点抖 :joy:

notebook里多卡训练和在python脚本里没有区别,目前MegStudio上是MegEngine1.0,所以还需要使用多进程接口来训练,参考 https://studio.brainpp.com/project/3210 里涉及distmultiprocessing的部分(其它接口可能有变动)

我们最新的1.2版本则可以更方便地添加一行代码实现多机训练(https://megengine.org.cn/doc/advanced/distributed.html#id2):

import megengine.autodiff as ad
import megengine.distributed as dist
import megengine.optimizer as optim

@dist.launcher
def main():

    # ... 模型初始化

    dist.bcast_list_(net.parameters())
    gm = ad.GradManager().attach(net.parameters(), callbacks=[dist.make_allreduce_cb("sum")])
    opt = optim.SGD(net.parameters(), lr=0.01, momentum=0.9, weight_decay=5e-4)

    # ... 你的训练代码
1赞