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:結果輸出設備