Tensor类型

1.Tensor有不同的数据类型,每种类型又有CPU和GPU两种版本;
2.默认的tensor类型是FloatTensor,t.set_default_tensor_type可以修改默认的tensor类型;
3.特别的HalfTensor是专门为GPU显存不足设计的,同样的元素个数,显存只占用FloatTensor的一半;
------------------------------------------------------------------------------------
数据类型 | CPU tensor | GPU tensor
------------------------------------------------------------------------------------
32bit浮点 | torch.FloatTensor | torch.cuda.FloatTensor
64bit浮点 | torch.DoubleTensor |torch.cuda.DoubleTensor
16bit半精度浮点 | N/A | torch.cuda.HalfTensor
8bit无符号整形 | torch.ByteTensor | torch.cuda.ByteTensor
8bit有符号整形 | torch.CharTensor | torch.cuda.CharTensor
16bit有符号整形 | torch.ShortTensor | torch.cuda.ShortTensor
32bit有符号整形 | torch.IntTensor | torch.cuda.IntTensor
64bit有符号整形 | torch.LongTensor | torch.cuda.LongTensor
------------------------------------------------------------------------------------
4.各个数据类型之间可以相互转化,type(new_type)是通用的方法,也有float、long、half等快捷方法,CPU tensor与GPU tensor之间的相互转化通过tensor.cuda和tensor.cpu的方法实现;

实例操作

#设置默认tensor格式,正常默认是FloatTensor,修改为IntTensor
t.set_default_tensor_type(t.DoubleTensor)
a = t.Tensor(2,3)
print(a.dtype) #torch.float64 b = a.float() #等价于b = a.type(t.FloatTensor)
print(b.dtype) #torch.float32 self = t.Tensor(3, 5)
print('self',self.dtype)
tesnor = t.IntTensor(2,3)
print('tensor',tesnor.dtype) print( self.type_as(tesnor).dtype) #通过typt_as转化类型
'''
self torch.float64
tensor torch.int32
torch.int32
''' d = a.new(2,3) # 等价于torch.DoubleTensor(2,3)
print('d',d)

Tensor类型的更多相关文章

  1. 深度学习原理与框架-Tensorflow基本操作-变量常用操作 1.tf.random_normal(生成正态分布随机数) 2.tf.random_shuffle(进行洗牌操作) 3. tf.assign(赋值操作) 4.tf.convert_to_tensor(转换为tensor类型) 5.tf.add(相加操作) tf.divide(相乘操作) 6.tf.placeholder(输入数据占位

    1. 使用tf.random_normal([2, 3], mean=-1, stddev=4) 创建一个正态分布的随机数 参数说明:[2, 3]表示随机数的维度,mean表示平均值,stddev表示 ...

  2. 关于类型为numpy,TensorFlow.tensor,torch.tensor的shape变化以及相互转化

    https://blog.csdn.net/zz2230633069/article/details/82669546 2018年09月12日 22:56:50 一只tobey 阅读数:727   1 ...

  3. PyTorch官方中文文档:torch.Tensor

    torch.Tensor torch.Tensor是一种包含单一数据类型元素的多维矩阵. Torch定义了七种CPU tensor类型和八种GPU tensor类型: Data tyoe CPU te ...

  4. 深度学习框架PyTorch一书的学习-第三章-Tensor和autograd-1-Tensor

    参考https://github.com/chenyuntc/pytorch-book/tree/v1.0 希望大家直接到上面的网址去查看代码,下面是本人的笔记 Tensor Tensor可以是一个数 ...

  5. Pytorch学习笔记(二)——Tensor

    一.对Tensor的操作 从接口的角度讲,对Tensor的操作可以分为两类: (1)torch.function (2)tensor.function 比如torch.sum(a, b)实际上和a.s ...

  6. 从零开始编写深度学习库(五)Eigen Tensor学习笔记2.0

    1.extract_image_patches函数的使用: 假设Eigen::Tensor形状为(3,8,8,9),现在要对第二维.第三维根据size大小为(2,2),stride=(2,2),那么如 ...

  7. 一、PyTorch 入门实战—Tensor(转)

    目录 一.Tensor的创建和使用 二.Tensor放到GPU上执行 三.Tensor总结 一.Tensor的创建和使用 1.概念和TensorFlow的是基本一致的,只是代码编写格式的不同.我们声明 ...

  8. 【Python秘籍】numpy到tensor的转换

    在用pytorch训练神经网络时,我们常常需要在numpy的数组变量类型与pytorch中的tensor类型进行转换,今天给大家介绍一种它们之间互相转换的方法. 一.numpy到tensor 首先我们 ...

  9. Pytorch的tensor数据类型

    基本类型 torch.Tensor是一种包含单一数据类型元素的多维矩阵. Torch定义了七种CPU tensor类型和八种GPU tensor类型: Data tyoe CPU tensor GPU ...

随机推荐

  1. less封装样式有规律的类选择器-遁地龙卷风

    1.解决的问题 .class-rule(p,2,width 20px animation-dely 0.1s);可以生成下列css样式 .p2 { animation-dely: 0.2s; widt ...

  2. 关于this绑定的四种方式

    一.前言 我们每天都在书写着有关于this的javascript代码,似懂非懂地在用着.前阵子在看了<你不知道的JavaScript上卷>之后,也算是被扫盲了一边关于this绑定的四种方式 ...

  3. day13 闭包及装饰器

    """ 今日内容: 1.函数的嵌套定义及必包 2.global 与 nonlocal 关键字 3.开放封闭原则及装饰器 """ " ...

  4. python3简单实现支持括号的加减乘除运算

    1.首先表达式的空格. 2.循环计算最内层带括号的表达式(提取运算符出现的顺序,然后计算) 3.计算最外层的表达式输出. 刚接触python,代码不够严谨,仅实现功能.不知道如何在函数中使用运算符变量 ...

  5. 3D Slicer中文教程(六)—调用matlab函数(MatlabBridge使用方法)

    1.安装MatlabBridge插件 (1)在工具栏找到Extension,点击进入Extension Manager (2)找到MatlabBridge,安装 2.配置MATLAB环境 (1)在模块 ...

  6. 项目Alpha冲刺(团队)-第五天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第五天冲刺的项目进展.问题困难.心得体会 ...

  7. MailKit系列之转发电子邮件

    原文:http://www.it1352.com/429181.html 问题 我尝试通过MailKit访问一个IMAP账号,我设法下载邮件(作为的MimeMessage),并在某些时候我需要转发给其 ...

  8. C++头文件用<>还是“” 以及 要加.h还是不加 的问题

    1.C++头文件用<>包含还是” “? 答:用<>包含,编译器会先在系统目录下搜索: 用” ” 包含,编译器会先在用户目录下搜索. 所以,如果使用系统标准库,要使用<&g ...

  9. git(windows)

    windows下比较比较好用的git客户端: 1. msysgit + TortoiseGit(乌龟git) 2. GitHub for Windows 3. Git Extensions

  10. butterknife-gradle-plugin插件

    在android library项目里由于R类中变量不再是final类型而无法使用butterknife,为了解决此问题,Jakewharton大神引入了butterknife-gradle-plug ...