PyTorch 关于多 GPUs 时的指定使用特定 GPU.

PyTorch 中的 Tensor,Variable 和 nn.Module(如 loss,layer和容器 Sequential) 等可以分别使用 CPU 和 GPU 版本,均是采用 .cuda() 方法.

如:

import torcha = torch.Tensor(2, 3)
if torch.cuda.is_available(): # 判断是否支持 CUDAa.is_cuda  # Falsea = a.cuda()  # 放到 GPU 上a.is_cuda  # Truea.get_device()  # 默认使用 GPU-0

采用 .cuda() 方法默认使用的是 GPU-0,等价于 .cuda(0).

1. GPU ID 指定

当需要指定使用多张 GPUs 中的特定 GPU 时,可以采用 .cuda(1) 方法,但需要对大量的 Tensor、Variable等进行修改.

参考网络上的方法,替代方案主要有:

[1] - 使用 torch.cuda.set_device(id) 函数

import torch
torch.cuda.set_device(id)  # id=0, 1, 2 等

[2] - 采用类似 Tensorflow 指定 GPU 的方式,使用 CUDA_VISIBLE_DEVICES

# 使用终端命令行运行的 GPU 指定方式
CUDA_VISIBLE_DEVICES=1 python python_script.py
# 在 python 脚本中的 GPU 指定方式
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"

参考:PyTorch中使用指定的GPU

2. torch.device

如:

import torchdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
a_cpu = torch.Tensor(2, 3)
# tensor([[0.0000e+00, 0.0000e+00, 1.2771e-40],
#         [9.0079e+15, 1.6751e-37, 2.9775e-41]])
a_cpu.device
# device(type='cpu')a_cuda = a.to(device)
# tensor([[-2.1800e-01,  4.5737e-41,  2.3351e-37],
#         [ 0.0000e+00,  4.4842e-44,  0.0000e+00]], device='cuda:0')
a_cuda.device
# device(type='cuda', index=0)# 查看当前 gpu id
curr_gpuid = torch.cuda.current_device()
# 0

Pytorch - GPU ID 指定 pytorch gpu 指定相关推荐

  1. PyTorch中使用指定的GPU

    PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU. 有如下两种方法来指定需要使用的GPU. 1.类似tensorflow指定GPU的方式,使用CUDA_VISIBL ...

  2. (原)PyTorch中使用指定的GPU

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6836568.html PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他G ...

  3. 安装GPU版本的pytorch(解决pytorch安装时默认安装CPU版本的问题)保姆级教程

    1.安装anaconda anaconda官网:www.anaconda.com 2.修改下载源为清华源 由于pytorch的服务器在国外,直连下载的话很慢,所以选用清华镜像源下载 # 添加清华镜像 ...

  4. anaconda + pytorch 配置 CPU版和GPU版

    配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda con ...

  5. TensorFlow指定使用GPU 多块gpu

    持续监控GPU使用情况命令: $ watch -n 10 nvidia-smi 1 一.指定使用某个显卡 如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台 ...

  6. Python指定使用gpu

    命令行指定显卡GPU运行python脚本 在大型机构分配的服务器集群中,需要使用GPU的程序默认都会在第一张卡上进行,如果第一张卡倍别人占用或者显存不够的情况下,程序就会报错说没有显存容量,所以能够合 ...

  7. linux杀死进程gpu,如何监控GPU使用情况并杀死指定其中进程

    仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 有时候我们常常会有一个需求是监控GPU指定情况,并且需要根据需要杀死GPU进程 这里介绍几个与之相关的指令: ...

  8. Windows10安装Anaconda和Pytorch(CPU版,无GPU加速)

    1.Anaconda安装 Anaconda的安装网上的教程非常非常多,很简单,下面这篇博客写的很详细,看我写的也可以. 地址:https://blog.csdn.net/u014546828/arti ...

  9. TensorFlow指定特定GPU以及占用显存的比例

    参考链接:https://blog.csdn.net/m0_37041325/article/details/77488981 因为LZ是使用GPU服务器跑TensorFlow,而TensorFlow ...

最新文章

  1. 概率论-3.5 条件分布与条件期望
  2. React的工作原理,为什么我直接从JSBin copy到本地的代码无法执行
  3. android app应用签名生成工具,android应用签名详细步骤
  4. Android中使用AsyncTask实现文件下载以及进度更新提示
  5. 同一个行业为什么股票差异大?
  6. python读音有道-python爬虫之有道在线翻译
  7. libusb-win32学习笔记(一)
  8. [终极精简版][图解]Nginx搭建flv mp4流媒体服务器
  9. 基于麻雀搜索算法优化的SVM数据分类预测 - 附代码
  10. java程序设计精编教程第3版电子版课后答案_java程序设计精编教程第3版答案
  11. linux安装rz命令
  12. 根据出库、入库表,实现对库存的信息查询
  13. java 实现热搜_搜索推荐系统根据用户搜索频率(热搜)排序
  14. dw设置html背景,Dreamweaver默认浏览器怎么设置
  15. 计算机管理磁盘管理无法删除卷,磁盘管理器里删除卷是灰色的怎么处理
  16. 快收下这枚 Scrapy Requests 口味的爬虫“回魂丹”
  17. MIPI换EDP芯片-LT8911EXB芯片,商显行业新选择
  18. 从“穷逼VIP”论注释规范,你见过哪些奇葩的注释?
  19. Spring Cloud中Hystrix的请求合并
  20. 双指针法总结之倚天屠龙

热门文章

  1. Strutsw2与Spring整合流程-简述
  2. 微机原理—定时计数控制接口
  3. 后勤问题怎么办。。。(求刊登)
  4. matplotlib绘制热力图
  5. 深度学习编译器综述The Deep Learning Compiler
  6. Lidar激光雷达市场
  7. OneFlow系统设计
  8. Pytorch和CNN图像分类
  9. Python:Selenium和PhantomJS
  10. Python:urllib2模块的基本使用