(备注:该博文还没写完)
1.nn.parallel.scatter 向多个设备分发参数

这是实现方法,在模型中可以值调用函数,其原理就是通过for循环 然后copy到不同的设备上
2.allreduce 函数 将所有向量相加,并将结果广播给所有的gpu

3.将一个小批量的数据均匀地分布在多个GPU上

使用多机多卡的形式

在使用多机多卡训练数据是,通常分为两种形式:(1)数据并行,模型复制为n份,然后每一份模型中传入不同bacth数据用进行训练。(2)模型并行,用于解决一张卡上容不下一个模型的参数量问题。
1.数据并行的方式
Data Parallel - Data distributed across devices
pytorch中主要有两种方式用于实现数据并行:DataParallel 和DistributedDataParallel
,这两个函数可以保证复制(replicate)出来的模型参数相同,主要区别在于DataParallel 用于线程,而
DistributedDataparallel 是用于多进程。
1.1 single machine data parallel

1.2 Distributed Data Parallel
Distributed Data Parallel 的方式 是通过 多进程实现的,每个进程读取一个小批量的数据然后传递给自己负责的一个gpu
进行计算

2.模型并行的方式
Model Parallel -Model distributed across devices
2.1 single machine Model Parallel

2.2 Distributed Data Parallel with Model Parallel

技术
下载桌面版
GitHub
Microsoft Store
SourceForge
夸克网盘
百度网盘
云服务器优惠
华为云优惠券
京东云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信