Pytorch to(device)用法


Posted in Python onJanuary 08, 2020

如下所示:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)

这两行代码放在读取数据之前。

mytensor = my_tensor.to(device)

这行代码的意思是将所有最开始读取数据时的tensor变量copy一份到device所指定的GPU上去,之后的运算都在GPU上进行。

这句话需要写的次数等于需要保存GPU上的tensor变量的个数;一般情况下这些tensor变量都是最开始读数据时的tensor变量,后面衍生的变量自然也都在GPU上

如果是多个GPU

在代码中的使用方法为:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

model = Model()

if torch.cuda.device_count() > 1:

 model = nn.DataParallel(model,device_ids=[0,1,2])

 

model.to(device)

Tensor总结

(1)Tensor 和 Numpy都是矩阵,区别是前者可以在GPU上运行,后者只能在CPU上;

(2)Tensor和Numpy互相转化很方便,类型也比较兼容

(3)Tensor可以直接通过print显示数据类型,而Numpy不可以

把Tensor放到GPU上运行

if torch.cuda.is_available():
 h = g.cuda()
 print(h)
torch.nn.functional
Convolution函数
torch.nn.functional.vonv1d(input,weight,bias=None,stride=1,padding=0,dilation=1,groups=1)
 
 
 
torch.nn.functional.conv2d(input,weight,bias=None,stride=1,padding=0,dilation=1,group=1)
 
parameter:
 input --输入张量(minibatch * in_channels * iH * iW)-weights-? 过滤器张量 (out_channels, in_channels/groups, kH, kW) - bias ? 可选偏置张量 (out_channels) - stride ? 卷积核的步长,可以是单个数字或一个元组 (sh x sw)。默认为1 - padding ? 输入上隐含零填充。可以是单个数字或元组。 默认值:0 - groups ? 将输入分成组,in_channels应该被组数除尽
 
 
>>> # With square kernels and equal stride
>>> filters = autograd.Variable(torch.randn(8,4,3,3))
>>> inputs = autograd.Variable(torch.randn(1,4,5,5))
>>> F.conv2d(inputs, filters, padding=1)

Pytorch中使用指定的GPU

(1)直接终端中设定

CUDA_VISIBLE_DEVICES=1

(2)python代码中设定:

import os

os.environ['CUDA_VISIBLE_DEVICE']='1'

(3)使用函数set_device

import torch

torch.cuda.set_device(id)

Pytoch中的in-place

in-place operation 在 pytorch中是指改变一个tensor的值的时候,不经过复制操作,而是在运来的内存上改变它的值。可以把它称为原地操作符。

在pytorch中经常加后缀 “_” 来代表原地in-place operation, 比如 .add_() 或者.scatter()

python 中里面的 += *= 也是in-place operation。

下面是正常的加操作,执行结束加操作之后x的值没有发生变化:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
print(x+y)  #tensor([1.0250, 0.7891])
print(x)  #tensor([0.8284, 0.5539])

下面是原地操作,执行之后改变了原来变量的值:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
x.add_(y)
print(x)  #tensor([1.1610, 1.3789])

以上这篇Pytorch to(device)用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
简单文件操作python 修改文件指定行的方法
May 15 Python
python为tornado添加recaptcha验证码功能
Feb 26 Python
python生成IP段的方法
Jul 07 Python
Python实现截屏的函数
Jul 25 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
python模拟预测一下新型冠状病毒肺炎的数据
Feb 01 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
keras 简单 lstm实例(基于one-hot编码)
Jul 02 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
Sep 22 #Python
Python语言异常处理测试过程解析
Jan 08 #Python
Pytorch在NLP中的简单应用详解
Jan 08 #Python
解析PyCharm Python运行权限问题
Jan 08 #Python
python读取ini配置的类封装代码实例
Jan 08 #Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 #Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 #Python
You might like
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
批处理与python代码混合编程的方法
2016/05/19 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
2019/04/15 Python
python之拟合的实现
2019/07/19 Python
django实现模型字段动态choice的操作
2020/04/01 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
经理职责范文
2013/11/08 职场文书
生产主管岗位职责
2013/11/10 职场文书
2014年社区工作总结
2014/11/18 职场文书
小学优秀班主任材料
2014/12/17 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
实习计划书范文
2015/01/16 职场文书
学校中秋节活动总结
2015/03/23 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
植物园观后感
2015/06/11 职场文书
中秋节感想
2015/08/10 职场文书
教师节感想
2015/08/11 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技