栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Pytorch 使用torch.nn.parallel.DistributedDataParallel多GPU分布式训练model

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pytorch 使用torch.nn.parallel.DistributedDataParallel多GPU分布式训练model

使用torch.nn.parallel.DistributedDataParallel必须要使用 终端命令进行模型训练,命令模板为:

CUDA_VISIBLE_DEVICES=1,2,3  python -m torch.distributed.launch --nproc_per_node=3  train.py

 这里 CUDA_VISIBLE_DEVICES=1,2,3表示你需要使用的gpu标号,--nproc_per_node=? 直接填写gpu数量,train.py为要运行的文件
 

必须要添加一个参数 --locak_rank,可以不在终端命令中指示,命令中的torch.distributed.launch 

import argparse

parser = argparse.ArgumentParser(description='model description')
parser.add_argument("--local_rank", type=int)
torch.distributed.init_process_group(backend='nccl')
torch.cuda.set_device(args.local_rank)

data = YourData_Class()

train_sampler = torch.utils.data.distributed.DistributedSampler(data)
dataloader = torch.utils.data.DataLoader(
        dataset=data,
        batch_size=args.batch_size,
        shuffle=False,
        num_workers=16,
        pin_memory=True,
        sampler=train_sampler)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号