GPU in PyTorch
CPU(central processing unit,中央处理器):主要包括控制器和运算器 GPU(Graphics processing unit, 图形处理器):处理统一的,无依赖的大规模数据运算
数据迁移
torch.cuda常用方法
1、torch.cuda.device_count(): 计算当前可见可用gpu数 2、torch.cuda.get_device_name():获取gpu名称 3、torch.cuda.manual_seed():为当前gpu设置随机种子 4、torch.cuda.manual_seed_all():为所有可见可用gpu设置随机种子 5、torch.cuda.set_device(): 设置主GPU为哪一个物理gpu(不推荐) 推荐:os.environ.setdefault(“CUDA_VISIBLE_DEVICES”,“2, 3”)
多GPU运算的分发并行机制
torch.nn.DataParallel
torch
.nn
.DataParallel
(module
, device_ids
=None, output_device
=None, dim
=0)
功能:包装模型,实现分发并行机制 主要参数:
module:需要包装分发的模型device_ids:可分发的GPU,默认分发到所有可见可用GPUoutput_device:结果输出设备