Pytorch - GPU ID 指定 pytorch gpu 指定
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 指定相关推荐
- PyTorch中使用指定的GPU
PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他GPU. 有如下两种方法来指定需要使用的GPU. 1.类似tensorflow指定GPU的方式,使用CUDA_VISIBL ...
- (原)PyTorch中使用指定的GPU
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6836568.html PyTorch默认使用从0开始的GPU,如果GPU0正在运行程序,需要指定其他G ...
- 安装GPU版本的pytorch(解决pytorch安装时默认安装CPU版本的问题)保姆级教程
1.安装anaconda anaconda官网:www.anaconda.com 2.修改下载源为清华源 由于pytorch的服务器在国外,直连下载的话很慢,所以选用清华镜像源下载 # 添加清华镜像 ...
- anaconda + pytorch 配置 CPU版和GPU版
配置国内源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda con ...
- TensorFlow指定使用GPU 多块gpu
持续监控GPU使用情况命令: $ watch -n 10 nvidia-smi 1 一.指定使用某个显卡 如果机器中有多块GPU,tensorflow会默认吃掉所有能用的显存, 如果实验室多人公用一台 ...
- Python指定使用gpu
命令行指定显卡GPU运行python脚本 在大型机构分配的服务器集群中,需要使用GPU的程序默认都会在第一张卡上进行,如果第一张卡倍别人占用或者显存不够的情况下,程序就会报错说没有显存容量,所以能够合 ...
- linux杀死进程gpu,如何监控GPU使用情况并杀死指定其中进程
仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/ 有时候我们常常会有一个需求是监控GPU指定情况,并且需要根据需要杀死GPU进程 这里介绍几个与之相关的指令: ...
- Windows10安装Anaconda和Pytorch(CPU版,无GPU加速)
1.Anaconda安装 Anaconda的安装网上的教程非常非常多,很简单,下面这篇博客写的很详细,看我写的也可以. 地址:https://blog.csdn.net/u014546828/arti ...
- TensorFlow指定特定GPU以及占用显存的比例
参考链接:https://blog.csdn.net/m0_37041325/article/details/77488981 因为LZ是使用GPU服务器跑TensorFlow,而TensorFlow ...
最新文章
- 概率论-3.5 条件分布与条件期望
- React的工作原理,为什么我直接从JSBin copy到本地的代码无法执行
- android app应用签名生成工具,android应用签名详细步骤
- Android中使用AsyncTask实现文件下载以及进度更新提示
- 同一个行业为什么股票差异大?
- python读音有道-python爬虫之有道在线翻译
- libusb-win32学习笔记(一)
- [终极精简版][图解]Nginx搭建flv mp4流媒体服务器
- 基于麻雀搜索算法优化的SVM数据分类预测 - 附代码
- java程序设计精编教程第3版电子版课后答案_java程序设计精编教程第3版答案
- linux安装rz命令
- 根据出库、入库表,实现对库存的信息查询
- java 实现热搜_搜索推荐系统根据用户搜索频率(热搜)排序
- dw设置html背景,Dreamweaver默认浏览器怎么设置
- 计算机管理磁盘管理无法删除卷,磁盘管理器里删除卷是灰色的怎么处理
- 快收下这枚 Scrapy Requests 口味的爬虫“回魂丹”
- MIPI换EDP芯片-LT8911EXB芯片,商显行业新选择
- 从“穷逼VIP”论注释规范,你见过哪些奇葩的注释?
- Spring Cloud中Hystrix的请求合并
- 双指针法总结之倚天屠龙