1. CPU 与 GPU
2. GPU in Pytorch
-
to函数:转换数据类型/设备
- tensor.to(*args, **kwargs)
- module.to(*args, **kwargs)
-
区别:张量不执行inplace,模型执行inplace
使用示例如下:
torch.cuda常用方法:
- torch.cuda.device_count():计算当前可见可用gpu数
- torch.cuda.get_device_name():获取gpu名称
- torch.cuda.manual_seed():为当前gpu设置随机种子
- torch.cuda.manual_seed_all():为所有可见可用gpu设置随机种子
- torch.cuda.set_device():设置主gpu为哪一个物理gpu(不推荐)
推荐: os.environ.setdefault(“CUDA_VISIBLE_DIVICES”, “2, 3”)
- 多gpu运算的分发并行机制
- torch.nn.DataParallel
- 功能:包装模型,实现分发并行机制
- 主要参数:
- module:需要包装分发的模型
- device_ids:可分发的gpu,默认分发到所有可见可用gpu
- output_device:结果输出设备