使用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)相关推荐

  1. Pytorch(gpu),cuda,cudnn安装

    Pytorch(gpu),cuda,cudnn安装 第一步:查看自己电脑显卡支持的CUDA版本 第二步:查看pytorch对应cuda版本 第三步:CUDA下载安装 遇到问题:安装完之后法找到nvcc ...

  2. Ubuntu18.04显卡驱动崩溃,pytorch无法使用GPU(CUDA error:all CUDA-capable devices are busy or unavailabile)解决方案

    1.问题描述 之前环境一直好用,突然pytorch就不能使用GPU了,自我检查过程如下: 1.使用nvidia-smi,看看驱动是否正常,没问题. 2. 使用pytorch测试GPU代码 import ...

  3. cuda的安装,及pytorch调用GPU步骤

    前言: 深度学习涉及很多向量或多矩阵运算,如矩阵相乘.矩阵相加.矩阵-向量乘法等.深层模型的算法,如BP,Auto-Encoder,CNN等,都可以写成矩阵运算的形式,无须写成循环运算.然而,在单核C ...

  4. pytorch gpu安装 torch.cuda.is_available()是true才成

    由于之前装了个假的gpu版本,所以来记录一下正确的怎么安装. 先看NVIDIA控制面板-帮助-系统信息-组件 看驱动版本,我的是9.0. 或者是  cmd输入NVIDIA-smi看 我的版本是385. ...

  5. pytorch多gpu并行训练操作指南

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 来源:知乎 作者:link-web 链接:https://zhuanlan.zhi ...

  6. pytorch多gpu并行训练

    pytorch多gpu并行训练 link-web 转自:pytorch多gpu并行训练 - 知乎 目录(目录不可点击) 说明 1.和DataParallel的区别 2.如何启动程序的时候 2.1 单机 ...

  7. conda 安装pytorch(gpu)

    一.conda创建并激活虚拟环境 前提:确定你安装好了anaconda并配置好了环境变量,如果没有,网上有很多详细的配置教程,请自行学习 打开Anaconda Prompt 创建conda虚拟环境并激 ...

  8. Pytorch多GPU笔记

    Pytorch分布式笔记 Pytorch多GPU计算笔记 DP和DDP的区别 DP DDP Apex amp的使用 apex.parallel.DistributedDataParallel的使用 D ...

  9. Pytorch:入门指南和 PyTorch 的 GPU版本安装(非常详细)

    Pytorch: 入门指南和 PyTorch 的 GPU版本安装(非常详细) Copyright: Jingmin Wei, Pattern Recognition and Intelligent S ...

  10. pytorch 多GPU训练总结(DataParallel的使用)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_40087578/arti ...

最新文章

  1. java创建datetime_Java OffsetDateTime ofInstant()用法及代码示例
  2. BZOJ3336: Uva10572 Black and White(插头Dp)
  3. Effective C# 原则50:了解ECMA标准(译)
  4. 苏州科技大学计算机学院 李双娴,苏州大学计算机科学与技术学院第十二次研究生代表大会顺利召开...
  5. JVM原理探究及调优方法论
  6. python发送邮件-实操记录-发送一封普通的邮箱
  7. [置顶] 让我爱恨的ThinkPHP Relation
  8. 微信公众号自动回复html,[.NET] 简单接入微信公众号开发:实现自动回复
  9. 《软件工程》第四次作业--目标软件(必应词典)
  10. Next.js提供了基于React的简单通用JavaScript框架
  11. 小米路由器r3d 安装vsftp 记事
  12. vue v-if未生效问题
  13. idea中安装uml工具插件
  14. Pyecharts直角坐标系图:象形柱状图 PictorialBar
  15. 转载:《星际争霸》星际争霸战略战术的发展和创新
  16. 快速入门Opentracing-cpp
  17. 数据结构——哈夫曼树
  18. 有梦想的闲鱼之团队介绍
  19. 程序员不能只会敲代码还要会投资理财
  20. iText实现HTML页面导出PDF

热门文章

  1. linux中的shell脚本case,Shell编程之case语句与循环语句
  2. mysql创建用并 grant_Mysql创建用户并授权
  3. JSP技术-02-内置对象/作用域/EL表达式/JSTL标签库
  4. Flutter之RenderObjectWidget
  5. Glide 4.0.0 RC0 使用详解
  6. java cookie实例_java 中cookie的详解及简单实例
  7. python某行某列读取数据_使用python获取csv文本的某行或某列数据的实例
  8. ad一张图纸绘制多图_你知道,为什么工程图纸都是蓝图纸,而不是白色黄色红色?...
  9. 网络推手团队_辛8工作室,被列入经营异常名单!工作室发声明解释!二子爷喊话辛8:你能强大过马云吗?达少太忙没有时间玩!团队断水断粮式野外生存!...
  10. java cstring_Java CString類代碼示例