pytorch实现Tensor变量之间的转换
系统默认是torch.FloatTensor类型
data = torch.Tensor(2,3)是一个2*3的张量,类型为FloatTensor
data.cuda()就转换为GPU的张量类型,torch.cuda.FloatTensor类型
(1) CPU或GPU之间的张量转换
在Tensor后加long(), int(), double(),float(),byte()等函数就能将Tensor进行类型转换type()函数,
data为Tensor数据类型,data.type()为给出data的类型,
如果使用data.type(torch.FloatTensor)则强制转换为torch.FloatTensor类型张量
(2) CPU张量转化成GPU张量
data.cuda()
(3) GPU张量转化成CPU张量
data.cpu()
(4) Variable变量转换成普通的Tensor
Variable是一个Wrapper,装在里面的data是tensor,如果Var是Variable变量,使用Var.data获得Tensor变量
(5) Tensor与numpy array之间的转换
Tensor->numpy 使用data.numpy(),data为Tensor变量
Numpy->Tensor 使用torch.from_numpy(data),data为numpy变量
(6) 分别获取张量和数组的尺寸,注意size的使用
torch 张量
获取张量的尺寸 a.size()
numpy 数组
获取数组的尺寸 b.shape
获取数组中元素的个数: b.size (这里和张量中的属性的size的含义不同)
(7) 升维和降维的问题
unsqueeze(N)升维到第N维
squeeze(N)降维第N维
需要做如下操作:
x = x.unsqueeze(0) 假如x=(3,1080,1920) 操作后 x = (1,3,1080,1920)
降维也是做同样的操作
以上这篇pytorch实现Tensor变量之间的转换就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
PyTorch中Tensor的拼接与拆分的实现
拼接张量:torch.cat() .torch.stack() torch.cat(inputs, dimension=0) → Tensor 在给定维度上对输入的张量序列 seq 进行连接操作 举个例子: >>> import torch >>> x = torch.randn(2, 3) >>> x tensor([[-0.1997, -0.6900, 0.7039], [ 0.0268, -1.0140, -2.9764]]) >>&
-
pytorch 实现tensor与numpy数组转换
看代码,tensor转numpy: a = torch.ones(2,2) b = a.numpy() c=np.array(a) #也可以转numpy数组 print(type(a)) print(type(b)) print(a) print(b) 输出为: <class 'torch.Tensor'> <class 'numpy.ndarray'> tensor([[1., 1.], [1., 1.]]) [[1. 1.] [1. 1.]] numpy转tensor: imp
-
pytorch numpy list类型之间的相互转换实例
如下所示: import torch from torch.autograd import Variable import numpy as np ''' pytorch中Variable与torch.Tensor类型的相互转换 ''' # 1.torch.Tensor转换成Variablea=torch.randn((5,3)) b=Variable(a) print('a',a.type(),a.shape) print('b',type(b),b.shape) # 2.Variable转换
-
Pytorch中的variable, tensor与numpy相互转化的方法
在使用pytorch作为深度学习的框架时,经常会遇到变量variable.张量tensor与矩阵numpy的类型的相互转化的问题,本章结合这实际图像对此转化方法进行实现. 1.加载需要用到的模块 import torch from torch.autograd import Variable import matplotlib.pyplot as plt import matplotlib.image as mpimg 2.显示图片与图片中的一部分区域 test_img = mpimg.imre
-
PyTorch中Tensor的维度变换实现
对于 PyTorch 的基本数据对象 Tensor (张量),在处理问题时,需要经常改变数据的维度,以便于后期的计算和进一步处理,本文旨在列举一些维度变换的方法并举例,方便大家查看. 维度查看:torch.Tensor.size() 查看当前 tensor 的维度 举个例子: >>> import torch >>> a = torch.Tensor([[[1, 2], [3, 4], [5, 6]]]) >>> a.size() torch.Size
-
pytorch: tensor类型的构建与相互转换实例
Summary 主要包括以下三种途径: 使用独立的函数: 使用torch.type()函数: 使用type_as(tesnor)将张量转换为给定类型的张量. 使用独立函数 import torch tensor = torch.randn(3, 5) print(tensor) # torch.long() 将tensor投射为long类型 long_tensor = tensor.long() print(long_tensor) # torch.half()将tensor投射为半精度浮点类型
-
pytorch实现Tensor变量之间的转换
系统默认是torch.FloatTensor类型 data = torch.Tensor(2,3)是一个2*3的张量,类型为FloatTensor data.cuda()就转换为GPU的张量类型,torch.cuda.FloatTensor类型 (1) CPU或GPU之间的张量转换 在Tensor后加long(), int(), double(),float(),byte()等函数就能将Tensor进行类型转换type()函数, data为Tensor数据类型,data.type()为给出dat
-
JavaScript变量类型以及变量之间的转换你了解吗
目录 1. 变量类型 1.1 变量类型的颜色 2. 字面量 3.数据类型转换 3.1. 转换为字符串型 1.加号拼接字符串 2.toString() 转成字符串 3.string(变量) 3.2转换为数字型(重点) 1.parseInt(string)函数-->整数数值型 2.parseFloat(string)函数-->浮点数数值型 3.利用number(变量) 4.利用了算数运算- + * / 隐式转换 3.3转换成布尔型 总结 1. 变量类型 <script> var num
-
Pytorch之Tensor和Numpy之间的转换的实现方法
为什么要相互转换: 1. 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了.下面一个小程序讲述了将tensor转化为numpy数组,以及又重新还原为tensor: 2. Torch的Tensor和numpy的array会共享他们的存储空间,修改一个会导致另外的一个也被修改. 学习链接:https://github.com/chenyuntc/pytorch-boo
-
Pytorch中Tensor与各种图像格式的相互转化详解
前言 在pytorch中经常会遇到图像格式的转化,例如将PIL库读取出来的图片转化为Tensor,亦或者将Tensor转化为numpy格式的图片.而且使用不同图像处理库读取出来的图片格式也不相同,因此,如何在pytorch中正确转化各种图片格式(PIL.numpy.Tensor)是一个在调试中比较重要的问题. 本文主要说明在pytorch中如何正确将图片格式在各种图像库读取格式以及tensor向量之间转化的问题.以下代码经过测试都可以在Pytorch-0.4.0或0.3.0版本直接使用. 对py
-
PyTorch中Tensor的数据类型和运算的使用
在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量.Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarray相互转换,唯一不同的是PyTorch可以在GPU上运行,而numpy的ndarray只能在cpu上运行. 常用的不同数据类型的Tensor,有32位的浮点型torch.FloatTensor, 64位浮点型 torch.DoubleTensor, 16位整形torch.ShortTenso
-
人工智能学习Pytorch教程Tensor基本操作示例详解
目录 一.tensor的创建 1.使用tensor 2.使用Tensor 3.随机初始化 4.其他数据生成 ①torch.full ②torch.arange ③linspace和logspace ④ones, zeros, eye ⑤torch.randperm 二.tensor的索引与切片 1.索引与切片使用方法 ①index_select ②... ③mask 三.tensor维度的变换 1.维度变换 ①torch.view ②squeeze/unsqueeze ③expand,repea
-
pytorch关于Tensor的数据类型说明
目录 关于Tensor的数据类型说明 pytorch Tensor变形函数 Tensor的排序与取极值 Tensor与NumPy转换 关于Tensor的数据类型说明 1. 32位浮点型:torch.FloatTensor a=torch.Tensor( [[2,3],[4,8],[7,9]], ) print "a:",a print "a.size():",a.size() print "a.dtype:",a.dtype b=torch.Fl
-
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
随机推荐
- 用Asp与XML实现交互的一个实例源码
- Vue实现一个返回顶部backToTop组件
- 使用正则表达式替换报表名称中的特殊字符(推荐)
- C语言实现用户态线程库案例
- Oracle中判断字段是否为数字
- python与C互相调用的方法详解
- C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页
- Android6.0蓝牙出现无法扫描设备或闪退问题解决办法
- Python版Mysql爆破小脚本
- node.js cookie-parser 中间件介绍
- 隐私 注册表“密”而不宣
- 用tensorflow实现弹性网络回归算法
- Yii框架ACF(accessController)简单权限控制操作示例
- 详解用async/await来处理异步
- 在python中实现对list求和及求积
- Java代理模式实例分析
- linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法
- TensorFlow绘制loss/accuracy曲线的实例
- PHP实现文件上传后台处理脚本
- PyInstaller运行原理及常用操作详解