PyTorch device与cuda.device用法

1 查看当前的device 输入情况:

import torch
print("Default Device : {}".format(torch.Tensor([4, 5, 6]).device))

输出情况:

Default Device : cpu

2 cpu设备可以使用“cpu:0”来指定

输入情况

device = torch.Tensor([1, 2, 3], device="cpu:0").device
print("Device Type: {}".format(device))

输出情况

Device Type: cpu

3 gpu设备可以使用“cuda:0”来指定

输入情况

gpu = torch.device("cuda:0")
print("GPU Device:【{}:{}】".format(gpu.type, gpu.index))

输出情况

GPU Device:【cuda:0】

4 查询CPU和GPU设备数量

输入情况

print("Total GPU Count :{}".format(torch.cuda.device_count()))
print("Total CPU Count :{}".format(torch.cuda.os.cpu_count()))

输出情况

Total GPU Count :1
Total CPU Count :8

5 从CPU设备上转换到GPU设备

5.1 torch.Tensor方法默认使用CPU设备

输入情况

data = torch.Tensor([[1, 4, 7], [3, 6, 9], [2, 5, 8]])
print(data.shape)

输出情况

torch.Size([3, 3])

5.2 使用to方法将cpu的Tensor转换到GPU设备上

输入情况:

data_gpu = data.to(torch.device("cuda:0"))
print(data_gpu.device)

输出情况:

cuda:0

5.3 使用.cuda方法将cpu的Tensor转换到GPU设备上

输入情况:

data_gpu2 = data.cuda(torch.device("cuda:0"))
# 如果只有一块gpu的话  直接写成这样:data_gpu2 = data.cuda()
print(data_gpu2.device)

输出情况:

cuda:0

到此这篇关于PyTorch device与cuda.device用法的文章就介绍到这了,更多相关PyTorch device使用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决pytorch下只打印tensor的数值不打印出device等信息的问题

    torch.Tensor类型的数据loss和acc打印时 如果写成以下写法 print('batch_loss: '+str(loss.data)+'batch acc: '+str(acc.data)) 则不仅会打印出loss和acc的值,还会打印出device信息和 tensor字样,如下: 如果仅想打印出数值,使得打印出的信息更加简洁 则要用以下写法 print('batch_loss: {:.3f} batch acc: {:.3f}'.format(loss.data, acc.dat

  • pytorch中的model=model.to(device)使用说明

    这代表将模型加载到指定设备上. 其中,device=torch.device("cpu")代表的使用cpu,而device=torch.device("cuda")则代表的使用GPU. 当我们指定了设备之后,就需要将模型加载到相应设备中,此时需要使用model=model.to(device),将模型加载到相应的设备中. 将由GPU保存的模型加载到CPU上. 将torch.load()函数中的map_location参数设置为torch.device('cpu')

  • pytorch中.to(device) 和.cuda()的区别说明

    原理 .to(device) 可以指定CPU 或者GPU device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 单GPU或者CPU model.to(device) #如果是多GPU if torch.cuda.device_count() > 1: model = nn.DataParallel(model,device_ids=[0,1,2]) model.to(

  • PyTorch device与cuda.device用法

    1 查看当前的device 输入情况: import torch print("Default Device : {}".format(torch.Tensor([4, 5, 6]).device)) 输出情况: Default Device : cpu 2 cpu设备可以使用“cpu:0”来指定 输入情况 device = torch.Tensor([1, 2, 3], device="cpu:0").device print("Device Type:

  • PyTorch device与cuda.device用法介绍

    目录 1 查看当前的device 2 cpu设备可以使用“cpu:0”来指定 3 gpu设备可以使用“cuda:0”来指定 4 查询CPU和GPU设备数量 5 从CPU设备上转换到GPU设备 5.1 torch.Tensor方法默认使用CPU设备 5.2 使用to方法将cpu的Tensor转换到GPU设备上 5.3 使用.cuda方法将cpu的Tensor转换到GPU设备上 1 查看当前的device 输入情况: import torch print("Default Device : {}&q

  • pytorch中Tensor.to(device)和model.to(device)的区别及说明

    目录 Tensor.to(device)和model.to(device)的区别 区别所在 举例 pytorch学习笔记--to(device)用法 这段代码到底有什么用呢? 为什么要在GPU上做运算呢? .cuda()和.to(device)的效果一样吗?为什么后者更好? 如果你有多个GPU Tensor.to(device)和model.to(device)的区别 区别所在 使用GPU训练的时候,需要将Module对象和Tensor类型的数据送入到device.通常会使用 to.(devic

  • 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的storag

  • PyTorch中的CUDA的操作方法

    目录 前言 一.常见CPU和GPU操作命令 二.CPU和GPU设备上的Tensor 1.Tensor从CPU拷贝到GPU上 2.直接在GPU上创建Tensor 3.CUDA Streams 三.固定缓冲区 四.自动设备感知 1.适配CPU和GPU设备 2.模型迁移到GPU设备 前言 CUDA(Compute Unified Device Architecture)是NVIDIA推出的异构计算平台,PyTorch中有专门的模块torch.cuda来设置和运行CUDA相关操作.本地安装环境为Wind

  • PyTorch中反卷积的用法详解

    pytorch中的 2D 卷积层 和 2D 反卷积层 函数分别如下: class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, groups=1, bias=True) class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, b

  • pytorch中nn.Conv1d的用法详解

    先粘贴一段official guide:nn.conv1d官方 我一开始被in_channels.out_channels卡住了很久,结果发现就和conv2d是一毛一样的.话不多说,先粘代码(菜鸡的自我修养) class CNN1d(nn.Module): def __init__(self): super(CNN1d,self).__init__() self.layer1 = nn.Sequential( nn.Conv1d(1,100,2), nn.BatchNorm1d(100), nn

  • PyTorch中topk函数的用法详解

    听名字就知道这个函数是用来求tensor中某个dim的前k大或者前k小的值以及对应的index. 用法 torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor) input:一个tensor数据 k:指明是得到前k个数据以及其index dim: 指定在哪个维度上排序, 默认是最后一个维度 largest:如果为True,按照大到小排序: 如果为False,按照小到大排序

  • Pytorch中膨胀卷积的用法详解

    卷积和膨胀卷积 在深度学习中,我们会碰到卷积的概念,我们知道卷积简单来理解就是累乘和累加,普通的卷积我们在此不做赘述,大家可以翻看相关书籍很好的理解. 最近在做项目过程中,碰到Pytorch中使用膨胀卷积的情况,想要的输入输出是图像经过四层膨胀卷积后图像的宽高尺寸不发生变化. 开始我的思路是padding='SAME'结合strides=1来实现输入输出尺寸不变,试列好多次还是有问题,报了张量错误的提示,想了好久也没找到解决方法,上网搜了下,有些人的博客说经过膨胀卷积之后图像的尺寸不发生变化,有

  • Pytorch上下采样函数--interpolate用法

    最近用到了上采样下采样操作,pytorch中使用interpolate可以很轻松的完成 def interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None): r""" 根据给定 size 或 scale_factor,上采样或下采样输入数据input. 当前支持 temporal, spatial 和 volumetric 输入数据的上采样,其shape 分别为:3-

随机推荐