pytorch和GPU有关操作(CUDA)
使用GPU前,我们首先需要查看GPU信息,这可以通过如下命令实现:
watch nvidia-smi
输出如下:
可以看到总共有两块3090显卡。
一、设定计算设备
默认情况下Pytorch将数据创建在内存,然后利用CPU进行计算,所以我们我们需要手动设定GPU信息。接下来介绍几个相关指令
查看GPU是否可用:torch.cuda.is_available()
查看GPU数量:torch.cuda.device_count()
查看当前GPU索引号(从0开始):torch.cuda.current_device()
根据索引号查看GPU名字:torch.cuda.get_device_name(index_number:int)
二、TENSOR的GPU计算
默认情况下,Tensor会被存储在内存上。因此,我们打印Tensor时候看不到GPU相关标识:
x=torch.tensor([1,2,3])
print(x)
输出:
tensor([1,2,3])
使用.cuda()
可以内存中的Tensor转换到GPU上。如果有多块GPU,可以使用.cuda(i)
来表示第i块GPU所对应的显存(从0开始),注意cuda(0)
和cuda()
等价:
x=x.cuda(0)
print(x)
输出:
tensor([1, 2, 3], device='cuda:0')
我们可以通过Tensor的device属性来查看该Tensor所在的设备:
print(x.device)
输出:
cuda:0
我们可以在创建的时候就指定设备:
device=torch.device('cuda' if torch.cuda.is_available() else 'cpu')x=torch.tensor([1,2,3],device=device)
# 或者通过如下的方式指定
x=torch.tensor([1,2,3]).to(device)print(x)
输出:
tensor([1, 2, 3], device='cuda:0')
如果对GPU上的数据进行运算,那么结果还是存放在GPU上:
y=x**2
print(y)
输出:
tensor([1, 4, 9], device='cuda:0')
注意存储在CPU上的数据无法直接与存放在GPU上的数据进行运算,会报错。
三、模型的GPU计算
和Tensor类似,Pytorch模型也可以通过.cuda
转换到GPU上,我们可以通过检查模型参数的device
属性来查看存放模型的设备:
net=nn.Linear(3,1)
print(list(net.parameters())[0].device)
输出:
cpu
此时可见模型在CPU上,我们将其转换到GPU上:
net.cuda()
print(list(net.parameters())[0].device)
输出:
cuda:0
注意我们需要保证模型输入的Tensor和模型都在同一台设备上,否则会报错。
pytorch和GPU有关操作(CUDA)相关推荐
- Pytorch(gpu),cuda,cudnn安装
Pytorch(gpu),cuda,cudnn安装 第一步:查看自己电脑显卡支持的CUDA版本 第二步:查看pytorch对应cuda版本 第三步:CUDA下载安装 遇到问题:安装完之后法找到nvcc ...
- Ubuntu18.04显卡驱动崩溃,pytorch无法使用GPU(CUDA error:all CUDA-capable devices are busy or unavailabile)解决方案
1.问题描述 之前环境一直好用,突然pytorch就不能使用GPU了,自我检查过程如下: 1.使用nvidia-smi,看看驱动是否正常,没问题. 2. 使用pytorch测试GPU代码 import ...
- cuda的安装,及pytorch调用GPU步骤
前言: 深度学习涉及很多向量或多矩阵运算,如矩阵相乘.矩阵相加.矩阵-向量乘法等.深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的形式,无须写成循环运算.然而,在单核C ...
- pytorch gpu安装 torch.cuda.is_available()是true才成
由于之前装了个假的gpu版本,所以来记录一下正确的怎么安装. 先看NVIDIA控制面板-帮助-系统信息-组件 看驱动版本,我的是9.0. 或者是 cmd输入NVIDIA-smi看 我的版本是385. ...
- pytorch多gpu并行训练操作指南
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:知乎 作者:link-web 链接:https://zhuanlan.zhi ...
- pytorch多gpu并行训练
pytorch多gpu并行训练 link-web 转自:pytorch多gpu并行训练 - 知乎 目录(目录不可点击) 说明 1.和DataParallel的区别 2.如何启动程序的时候 2.1 单机 ...
- conda 安装pytorch(gpu)
一.conda创建并激活虚拟环境 前提:确定你安装好了anaconda并配置好了环境变量,如果没有,网上有很多详细的配置教程,请自行学习 打开Anaconda Prompt 创建conda虚拟环境并激 ...
- Pytorch多GPU笔记
Pytorch分布式笔记 Pytorch多GPU计算笔记 DP和DDP的区别 DP DDP Apex amp的使用 apex.parallel.DistributedDataParallel的使用 D ...
- Pytorch:入门指南和 PyTorch 的 GPU版本安装(非常详细)
Pytorch: 入门指南和 PyTorch 的 GPU版本安装(非常详细) Copyright: Jingmin Wei, Pattern Recognition and Intelligent S ...
- pytorch 多GPU训练总结(DataParallel的使用)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_40087578/arti ...
最新文章
- java创建datetime_Java OffsetDateTime ofInstant()用法及代码示例
- BZOJ3336: Uva10572 Black and White(插头Dp)
- Effective C# 原则50:了解ECMA标准(译)
- 苏州科技大学计算机学院 李双娴,苏州大学计算机科学与技术学院第十二次研究生代表大会顺利召开...
- JVM原理探究及调优方法论
- python发送邮件-实操记录-发送一封普通的邮箱
- [置顶] 让我爱恨的ThinkPHP Relation
- 微信公众号自动回复html,[.NET] 简单接入微信公众号开发:实现自动回复
- 《软件工程》第四次作业--目标软件(必应词典)
- Next.js提供了基于React的简单通用JavaScript框架
- 小米路由器r3d 安装vsftp 记事
- vue v-if未生效问题
- idea中安装uml工具插件
- Pyecharts直角坐标系图:象形柱状图 PictorialBar
- 转载:《星际争霸》星际争霸战略战术的发展和创新
- 快速入门Opentracing-cpp
- 数据结构——哈夫曼树
- 有梦想的闲鱼之团队介绍
- 程序员不能只会敲代码还要会投资理财
- iText实现HTML页面导出PDF
热门文章
- linux中的shell脚本case,Shell编程之case语句与循环语句
- mysql创建用并 grant_Mysql创建用户并授权
- JSP技术-02-内置对象/作用域/EL表达式/JSTL标签库
- Flutter之RenderObjectWidget
- Glide 4.0.0 RC0 使用详解
- java cookie实例_java 中cookie的详解及简单实例
- python某行某列读取数据_使用python获取csv文本的某行或某列数据的实例
- ad一张图纸绘制多图_你知道,为什么工程图纸都是蓝图纸,而不是白色黄色红色?...
- 网络推手团队_辛8工作室,被列入经营异常名单!工作室发声明解释!二子爷喊话辛8:你能强大过马云吗?达少太忙没有时间玩!团队断水断粮式野外生存!...
- java cstring_Java CString類代碼示例