Pytorch的tensor数据类型
基本类型
torch.Tensor是一种包含单一数据类型元素的多维矩阵。
Torch定义了七种CPU tensor类型和八种GPU tensor类型:
| Data tyoe | CPU tensor | GPU tensor |
|---|---|---|
| 32-bit floating point | torch.FloatTensor |
torch.cuda.FloatTensor |
| 64-bit floating point | torch.DoubleTensor |
torch.cuda.DoubleTensor |
| 16-bit floating point | N/A | torch.cuda.HalfTensor |
| 8-bit integer (unsigned) | torch.ByteTensor |
torch.cuda.ByteTensor |
| 8-bit integer (signed) | torch.CharTensor |
torch.cuda.CharTensor |
| 16-bit integer (signed) | torch.ShortTensor |
torch.cuda.ShortTensor |
| 32-bit integer (signed) | torch.IntTensor |
torch.cuda.IntTensor |
| 64-bit integer (signed) | torch.LongTensor |
torch.cuda.LongTensor |
torch.DoubleTensor(2, 2) 构建一个22 Double类型的张量
torch.ByteTensor(2, 2) 构建一个22 Byte类型的张量
torch.CharTensor(2, 2) 构建一个22 Char类型的张量
torch.ShortTensor(2, 2) 构建一个22 Short类型的张量
torch.IntTensor(2, 2) 构建一个22 Int类型的张量
torch.LongTensor(2, 2) 构建一个22 Long类型的张量
类型转换
2.1 CPU和GPU的Tensor之间转换
从cpu –> gpu,使用data.cuda()即可。
若从gpu –> cpu,则使用data.cpu()。
2.2 Tensor与Numpy Array之间的转换
Tensor –> Numpy.ndarray 可以使用 data.numpy(),其中data的类型为torch.Tensor。
Numpy.ndarray –> Tensor 可以使用torch.from_numpy(data),其中data的类型为numpy.ndarray。
2.3 Tensor的基本类型转换(也就是float转double,转byte这种。)
为了方便测试,我们构建一个新的张量,你要转变成不同的类型只需要根据自己的需求选择即可
tensor = torch.Tensor(2, 5)
torch.long() 将tensor投射为long类型
newtensor = tensor.long()torch.half()将tensor投射为半精度浮点(16位浮点)类型
newtensor = tensor.half()torch.int()将该tensor投射为int类型
newtensor = tensor.int()- torch.double()将该tensor投射为double类型
newtensor = tensor.double() torch.float()将该tensor投射为float类型
newtensor = tensor.float()torch.char()将该tensor投射为char类型
newtensor = tensor.char()torch.byte()将该tensor投射为byte类型
newtensor = tensor.byte()torch.short()将该tensor投射为short类型
newtensor = tensor.short()
如果当你需要提高精度,比如说想把模型从float变为double。那么可以将要训练的模型设置为model = model.double()。此外,还要对所有的张量进行设置:pytorch.set_default_tensor_type('torch.DoubleTensor'),不过double比float要慢很多,要结合实际情况进行思考。
Pytorch的tensor数据类型的更多相关文章
- pytorch 中的数据类型,tensor的创建
pytorch中的数据类型 import torch a=torch.randn(2,3) b=a.type() print(b) #检验是否是该数据类型 print(isinstance(a,tor ...
- 对pytorch中Tensor的剖析
不是python层面Tensor的剖析,是C层面的剖析. 看pytorch下lib库中的TH好一阵子了,TH也是torch7下面的一个重要的库. 可以在torch的github上看到相关文档.看了半天 ...
- [Pytorch]Pytorch的tensor变量类型转换
原文:https://blog.csdn.net/hustchenze/article/details/79154139 Pytorch的数据类型为各式各样的Tensor,Tensor可以理解为高维矩 ...
- pytorch之Tensor
#tensor和numpy import torch import numpy as np numpy_tensor = np.random.randn(3,4) print(numpy_tensor ...
- Pytorch的基础数据类型
引言 本篇介绍Pytorch的基础数据类型,判断方式以及常用向量 基础数据类型 torch.Tensor是一种包含单一数据类型元素的多维矩阵. 目前在1.2版本中有9种类型. 同python相比,py ...
- pytorch中tensor张量数据基础入门
pytorch张量数据类型入门1.对于pytorch的深度学习框架,其基本的数据类型属于张量数据类型,即Tensor数据类型,对于python里面的int,float,int array,flaot ...
- Tensor数据类型
目录 Tensor数据类型 属性 数据类型判断 数据类型转换 tensor转numpy Tensor数据类型 list: [1,1.2,'hello'] ,存储图片占用内存非常大 np.array, ...
- pytorch中tensor数据和numpy数据转换中注意的一个问题
转载自:(pytorch中tensor数据和numpy数据转换中注意的一个问题)[https://blog.csdn.net/nihate/article/details/82791277] 在pyt ...
- [Pytorch]Pytorch中tensor常用语法
原文地址:https://zhuanlan.zhihu.com/p/31494491 上次我总结了在PyTorch中建立随机数Tensor的多种方法的区别. 这次我把常用的Tensor的数学运算总结到 ...
随机推荐
- Android8.1 源码修改之插入SIM卡默认启用Volte功能
前言 公用电话产品,插入SIM卡后要求自动打开Volte功能,即插即用,用完拔卡就走 实现 第一步 开关对应的代码 通过打印日志和全局查找,源码位置 vendor/mediatek/proprieta ...
- iOS多线程知识梳理
iOS多线程知识梳理 线程进程基础概念 进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 线程 1个进程要想执行任务,必须得有线程(每1个 ...
- [ERR] Node 172.16.6.154:7002 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
关于启动redis集群时: [ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes ...
- Redis中的Scan命令的使用
Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,这里就有两种方式,一是keys命令,简单粗暴,由于Redis单线程这一特性,keys命令是以阻塞的方式执行 ...
- django的使用INNODE的方式,排除错误MySQL Strict Mode is not set for database connection 'default'
出现如下错误: 解决办法: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mxshop', 'HO ...
- Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable configuration on demand by setting org
androidStudio打开cocos3.17.2Lua项目时,出现了 Configuration on demand is not supported by the current version ...
- s3c2440裸机-代码重定位、清bss的改进和位置无关码
1.代码重定位的改进 用ldr.str代替ldrb, strb加快代码重定位的速度. 前面重定位时,我们使用的是ldrb命令从的Nor Flash读取1字节数据,再用strb命令将1字节数据写到SDR ...
- HTTP 请求夹带(smuggling)攻击
什么是HTTP请求夹带(smuggling)攻击 HTTP请求走私是一种干扰网站处理从一个或多个用户接收的HTTP请求序列的方式的技术. 请求夹带漏洞危害,允许攻击者绕过安全控制,获取对敏感数据的未授 ...
- mybatis入门视频总结
1.基础知识 2. 原生态jdbc问题总结 3.mybatis是什么 4.工程结构 5.SqlMapConfig.xml文件 6.sqlmap 包下新建user.xml文件(namespace,par ...
- 201871010116-祁英红《面向对象程序设计(java)》第十七周学习总结
博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https:/ ...