从PyTorch 0.2版本开始,PyTorch新增分布式GPU支持。
注意分布式和并行的区别:分布式是指有多个GPU在多台服务器上,而并行一般指的是一台服务器上的多个GPU。分布式涉及了服务器之间的通信,因此比较复杂,PyTorch封装了相应的接口,可以用几句简单的代码实现分布式训练。
分布式对普通用户来说比较遥远,因为搭建一个分布式集群的代价很大,使用也比较复杂。相比之下,一机多卡更现实。
如果服务器具有多个GPU,tensor.cuda()方法会将tensor保存到第一块GPU上,等价于tensor.cuda(0)。此时如果想使用第二块GPU,需手动指定tensor.cuda(1)
Pytorch中多GPU并行计算
我们主要谈论的是单主机多GPU训练
- DataParallel实现简单,但速度较慢,且存在负载不均衡的问题。
- DistributedDataParallel本身是实现多机多卡的,但单机多卡也可以使用,配置稍复杂
https://blog.csdn.net/qq_37541097/article/details/109736159
https://blog.csdn.net/qq_37541097/article/details/109736159
扫描二维码关注公众号,回复: 12882146 查看本文章![]()
Pytorch分布式(多GPU)
猜你喜欢
转载自blog.csdn.net/hxxjxw/article/details/113764305
今日推荐
周排行