pytorch判断是否cuda 判断变量类型方式

 更新时间:2020年06月23日 10:49:55   作者:ShellCollector  
这篇文章主要介绍了pytorch判断是否cuda 判断变量类型方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,那就直接看代码吧~

inputs = Variable(torch.randn(2,2))
inputs.is_cuda # will return false
inputs = Variable(torch.randn(2,2).cuda())
inputs.is_cuda # returns true

判断:

torch.is_tensor() #如果是pytorch的tensor类型返回true

torch.is_storage() # 如果是pytorch的storage类型返回ture

这里还有一个小技巧,如果需要判断tensor是否为空,可以如下

>>> a=torch.Tensor()
>>> len(a)
0
>>> len(a) is 0
True

设置:通过一些内置函数,可以实现对tensor的精度, 类型,print打印参数等进行设置

torch.set_default_dtype(d) #对torch.tensor() 设置默认的浮点类型
 
torch.set_default_tensor_type() # 同上,对torch.tensor()设置默认的tensor类型
>>> torch.tensor([1.2, 3]).dtype   # initial default for floating point is torch.float32
torch.float32
>>> torch.set_default_dtype(torch.float64)
>>> torch.tensor([1.2, 3]).dtype   # a new floating point tensor
torch.float64
>>> torch.set_default_tensor_type(torch.DoubleTensor)
>>> torch.tensor([1.2, 3]).dtype # a new floating point tensor
torch.float64
 
torch.get_default_dtype() #获得当前默认的浮点类型torch.dtype
 
torch.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, profile=None)#)
## 设置printing的打印参数

判断变量类型:下面两种方法都行

if isinstance(downsample, torch.nn.Module):
# if torch.type(downsample) != torch.IntTensor:

补充知识:pytorch:测试GPU是否可用

废话不多说,看代码吧~

import torch
flag = torch.cuda.is_available()
print(flag)

ngpu= 1
# Decide which device we want to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda()) 
True
cuda:0
GeForce GTX 1080
tensor([[0.9530, 0.4746, 0.9819],
  [0.7192, 0.9427, 0.6768],
  [0.8594, 0.9490, 0.6551]], device='cuda:0')

以上这篇pytorch判断是否cuda 判断变量类型方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python实现实时增量数据加载工具的解决方案

    Python实现实时增量数据加载工具的解决方案

    这篇文章主要分享结合单例模式实际应用案例:实现实时增量数据加载工具的解决方案。最关键的是实现一个可进行添加、修改、删除等操作的增量ID记录表。需要的可以参考一下
    2022-02-02
  • 解决Python中list里的中文输出到html模板里的问题

    解决Python中list里的中文输出到html模板里的问题

    今天小编就为大家分享一篇解决Python中list里的中文输出到html模板里的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Qt Quick QML-500行代码实现合成大西瓜游戏

    Qt Quick QML-500行代码实现合成大西瓜游戏

    合成大西瓜游戏是前段时间比较火的小游戏,最近小编闲来无事,通过研究小球碰撞原理亲自写碰撞算法实现一个合成大西瓜游戏,下面小编把我的实现思路及核心代码分析出来,供大家参考
    2021-05-05
  • python manage.py runserver流程解析

    python manage.py runserver流程解析

    这篇文章主要介绍了python manage.py runserver流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法详解

    Pytorch之nn.Upsample()和nn.ConvTranspose2d()用法详解

    nn.Upsample和nn.ConvTranspose2d是PyTorch中用于上采样的两种主要方法,nn.Upsample通过不同的插值方法(如nearest、bilinear)执行上采样,没有可学习的参数,适合快速简单的尺寸增加,而nn.ConvTranspose2d通过可学习的转置卷积核进行上采样
    2024-10-10
  • Python中getservbyport和getservbyname函数的用法大全

    Python中getservbyport和getservbyname函数的用法大全

    在Python的网络编程中,getservbyport()函数和getservbyname()函数是socket模块中的两个函数,因此在使用这两个函数时,需要导入socket模块,这篇文章主要介绍了Python中getservbyport和getservbyname函数的用法,需要的朋友可以参考下
    2023-01-01
  • Python中的sorted函数使用解析

    Python中的sorted函数使用解析

    这篇文章主要介绍了Python中的sorted函数使用解析,sorted()函数可以对可迭代对象进行排序,并且可以人为指定排序的依据以及方式,本文提供了解决与部分实现代码,需要的朋友可以参考下
    2023-10-10
  • Python获取时间戳的多种方法总结

    Python获取时间戳的多种方法总结

    时间戳是一个表示日期和时间的数值,通常以秒为单位,在Python中,获取时间戳是常见的任务,用于记录事件、计时操作、以及在各种应用中跟踪时间,本文将介绍多种获取时间戳的方法,包括标准库和第三方库的方式,并提供示例代码以帮助你更好地理解
    2023-11-11
  • python实现windows壁纸定期更换功能

    python实现windows壁纸定期更换功能

    这篇文章主要为大家详细介绍了python实现windows壁纸定期更换功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • django authenticate用户身份认证的项目实践

    django authenticate用户身份认证的项目实践

    Django的contrib.auth模块中的authenticate()函数用于对用户的凭据进行身份验证,本文就来介绍一下django authenticate用户身份认证的使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08

最新评论