【文件属性】:
文件名称:Balanced-DataParallel:这里是改进了pytorch的DataParallel,使用了平衡第一个GPU的显存使用量
文件大小:5KB
文件格式:ZIP
更新时间:2024-04-10 15:53:57
Python
平衡数据并行
这里是改进了pytorch的DataParallel,使用了平衡第一个GPU的显存使用量
本代码来自transformer-XL: :
代码不是本人写的,但是感觉很好用,就分享一下。
怎么使用:
这个BalancedDataParallel类使用起来和DataParallel类似,下面是一个示例代码:
my_net = MyNet()
my_net = BalancedDataParallel(gpu0_bsz // acc_grad, my_net, dim=0).cuda()
这里包含三个参数,第一个参数是第一个GPU要分配多大的batch_size,但是要注意,如果您使用了渐变累积,那么此处替换的是每次进行运算的实际batch_size大小。举个例子,比如你在3个GPU上面跑代码,但是一个GPU最大只能跑3条数据,但是因为0号GPU还要做一些数据的整合操作,于是0
【文件预览】:
Balanced-DataParallel-master
----data_parallel_my_v2.py(4KB)
----data_parallel.py(4KB)
----data_parallel_my.py(4KB)
----README.md(2KB)