pytorch: tensor类型的构建与相互转换

2023-11-18

Summary

主要包括以下三种途径:

  1. 使用独立的函数;
  2. 使用torch.type()函数;
  3. 使用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投射为半精度浮点类型
half_tensor = tensor.half()
print(half_tensor)

# torch.int()将该tensor投射为int类型
int_tensor = tensor.int()
print(int_tensor)

# torch.double()将该tensor投射为double类型
double_tensor = tensor.double()
print(double_tensor)

# torch.float()将该tensor投射为float类型
float_tensor = tensor.float()
print(float_tensor)

# torch.char()将该tensor投射为char类型
char_tensor = tensor.char()
print(char_tensor)

# torch.byte()将该tensor投射为byte类型
byte_tensor = tensor.byte()
print(byte_tensor)

# torch.short()将该tensor投射为short类型
short_tensor = tensor.short()
print(short_tensor)
-0.5841 -1.6370  0.1353  0.6334 -3.0761
-0.2628  0.1245  0.8626  0.4095 -0.3633
 1.3605  0.5055 -2.0090  0.8933 -0.6267
[torch.FloatTensor of size 3x5]


 0 -1  0  0 -3
 0  0  0  0  0
 1  0 -2  0  0
[torch.LongTensor of size 3x5]


-0.5840 -1.6367  0.1353  0.6333 -3.0762
-0.2627  0.1245  0.8628  0.4094 -0.3633
 1.3604  0.5054 -2.0098  0.8936 -0.6265
[torch.HalfTensor of size 3x5]


 0 -1  0  0 -3
 0  0  0  0  0
 1  0 -2  0  0
[torch.IntTensor of size 3x5]


-0.5841 -1.6370  0.1353  0.6334 -3.0761
-0.2628  0.1245  0.8626  0.4095 -0.3633
 1.3605  0.5055 -2.0090  0.8933 -0.6267
[torch.DoubleTensor of size 3x5]


-0.5841 -1.6370  0.1353  0.6334 -3.0761
-0.2628  0.1245  0.8626  0.4095 -0.3633
 1.3605  0.5055 -2.0090  0.8933 -0.6267
[torch.FloatTensor of size 3x5]


 0 -1  0  0 -3
 0  0  0  0  0
 1  0 -2  0  0
[torch.CharTensor of size 3x5]


   0  255    0    0  253
   0    0    0    0    0
   1    0  254    0    0
[torch.ByteTensor of size 3x5]


 0 -1  0  0 -3
 0  0  0  0  0
 1  0 -2  0  0
[torch.ShortTensor of size 3x5]

其中,torch.Tensortorch.randtorch.randn 均默认生成 torch.FloatTensor型

import torch

tensor = torch.Tensor(3, 5)
assert isinstance(tensor, torch.FloatTensor)

tensor = torch.rand(3, 5)
assert isinstance(tensor, torch.FloatTensor)

tensor = torch.randn(3, 5)
assert isinstance(tensor, torch.FloatTensor)

使用torch.type()函数

type(new_type=None, async=False)

import torch

tensor = torch.randn(3, 5)
print(tensor)

int_tensor = tensor.type(torch.IntTensor)
print(int_tensor)
-0.4449  0.0332  0.5187  0.1271  2.2303
 1.3961 -0.1542  0.8498 -0.3438 -0.2834
-0.5554  0.1684  1.5216  2.4527  0.0379
[torch.FloatTensor of size 3x5]


 0  0  0  0  2
 1  0  0  0  0
 0  0  1  2  0
[torch.IntTensor of size 3x5]

使用type_as(tesnor)将张量转换为给定类型的张量

import torch

tensor_1 = torch.FloatTensor(5)

tensor_2 = torch.IntTensor([10, 20])
tensor_1 = tensor_1.type_as(tensor_2)
assert isinstance(tensor_1, torch.IntTensor)

[1] pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytorch: tensor类型的构建与相互转换 的相关文章

  • C#基础知识整理四

    上一个知识点整理 已经整理到了结构体方面了 顺便把访问修饰符也一起整理了 今天继续向下整理知识点 今天来了解一下类和面向对象的知识 1 类 什么是类 简单来说就是分类 他是描述具有相同特征 属性 和行为 方法 的抽象就是类 他是用关键字cl
  • Redis中的Hash

    1 前言 本篇博客将介绍Redis中五大类型之一的Hash类型及一些其常用命令 Reids中的Hash是一个键值对类型的集合 类似于Java里面的Map
  • 参数估计

    百度百科解释 参数估计 parameter estimation 是根据从总体中抽取的样本估计总体分布中包含的未知参数的方法 人们常常需要根据手中的数据 分析或推断数据反映的本质规律 即根据样本数据如何选择统计量去推断总体的分布或数字特征等
  • VirtualBox没有64位选项,无法安装64位的解决方法 感谢源作者

    昨天碰到了一个让我惊奇的问题 以前从来没有碰到过 早些年一直用 VM 都是草民肯定买不起VM授权 都是各种的破解版 对吧 这几年vm的破解几乎没有了 反正也不怎么好用就一直用VirtualBox 但是昨天竟然没有办法现在64系统 如果不能安
  • JS使用showModalDialog弹出窗口获得弹出窗口设定的值

    父窗口 hello html
  • ES 搜索3 (查找多个精确值)

    查找多个精确值 term 查询对于查找单个值非常有用 但通常我们可能想搜索多个值 如果我们想要查找价格字段值为 20 或 30 的文档该如何处理呢 不需要使用多个 term 查询 我们只要用单个 terms 查询 注意末尾的 s terms
  • ORACLE数据库怎样查看当前的SID

    方法一 echo ORACLE SID 方法二 select from V database
  • 【自用】深度学习工作站安装ubuntu 18.04 LTS系统

    工作站配置 自己组装的 主板 华硕Z790P PCIE插槽间距大 可以装双显卡 CPU i5 13600KF 内存 32 G 显卡 GTX 2080 Ti 魔改版 22G 存储 1T SSD 8T机械硬盘 系统 ubuntu 18 04 L
  • storm教程(三):用Java开发storm

    1 操作模式 开始之前 有必要了解一下Storm的操作模式 有下面两种方式 本地模式 在本地模式下 Storm拓扑结构运行在本地计算机的单一JVM进程上 这个模式用于开发 测试以及调试 因为这是观察所有组件如何协同工作的最简单方法 在这种模
  • IOCTL函数用法详解

    ioctl是设备驱动程序中对设备的I O通道进行管理的函数 所谓对I O通道进行管理 就是对设备的一些特性进行控制 例如串口的传输波特率 马达的转速等等 它的调用个数如下 int ioctl int fd ind cmd 其中fd是用户程序
  • 使用深度优先搜索查找图中的路径(java)

    package depthfirstpaths import edu princeton cs algs4 Graph import edu princeton cs algs4 Stack public class DepthFirstP
  • php mysql替换数据库中出现过的所有域名实现办法 (原)

    一般新的项目上线或域名必须要更改的时候 有些数据库存的图片或者文件地址带域名的要全部改 恰巧呢 数据库表超级多 恰巧呢 又刚做了接盘侠 啥也不知道 就给你连接数据库让你改 头大不头大 我这个接盘侠上任第一天就遇上了这问题 当拿到将近1G的数
  • Thinkphp 3.2 模型View 里面使用时间戳,在模板中输出时间戳

    很简单 只需要一个代码就能搞定 time 我是这样运用的 这样子做能保证一直更新 Css文件 保证整个布局的及时更新 跟 有效性
  • Android智能下拉刷新框架-SmartRefreshLayout

    框架 下拉刷新控件还能框架化 智能又怎么回事 二话不多少先上Demo效果图 咱们再来探个究竟 Github 传送门注意 本文仅仅是博客文章 主要用于项目介绍和宣传 由于发布时间关系 部分内容已经过期 详细使用文档请跳转 github Dem
  • 大数据毕设 基于python的疫情爬虫分析可视化系统

    文章目录 0 前言 1 课题背景 2 实现效果 3 Flask框架 4 Echarts 5 爬虫 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学
  • uniapp表单密码校验:判断两次密码输入是否一致

    uniapp表单密码校验 无需使用自定义validator进行校验 使用uniapp文档内自带的this u test object value password 即可
  • ORA-01536: 超出表空间 'YYPART' 的空间限额

    ORA 01536 超出表空间 YYPART 的空间限额 author skatetime 2008 08 01 现象 研发提示空间不够用 日志显示 ORA 01536 超出表空间 YYPART 的空间限额 解决 alter user sk
  • Redis之十大类型(三)(上)

    redis是k v键值对进行存储 这里的数据类型是value的数据类型 key的类型都是字符串 keys 当前库的所有key exists key 判断某个key是否存在 type key 查看你的key是什么类型 del key 删除指定

随机推荐

  • 华为OD机试 - 去除多余空格(Java)

    题目描述 去除文本多余空格 但不去除配对单引号之间的多余空格 给出关键词的起始和结束下标 去除多余空格后刷新关键词的起始和结束下标 条件约束 1 不考虑关键词起始和结束位置为空格的场景 2 单词的的开始和结束下标保证涵盖一个完整的单词 即一
  • Vue自定义指令及使用

    一 什么是指令 学习 vue 的时候肯定会接触指令 那么什么是指令呢 在 vue 中提供了一些对于页面和数据更为方便的输出 这些操作就叫做指令 以 v xxx 表示 比如 html 页面中的属性 div div div gt 比如在 ang
  • HC-05两个蓝牙配对经验(绝对好使)!!!!!

    特别注意 一 串口调试助手发送 命令时 波特率最好是38400 其他的可能不好使 具体自己可以尝试一下 二 发送命令的时候一定要加入换行 否则不好使 步骤 首先 断电按下蓝牙上的按键进入AT模式 这时候灯会慢闪 大约两秒一次 1 串口调试助
  • python中__str__()函的用法

    python中 str 函数的用法 定义一个 str 的用法 class Person def init self name age self name name self age age def str self return My na
  • 无线WiFi网络的密码破解攻防及原理详解

    大家应该都有过这样的经历 就是感觉自己家的无线网怎么感觉好像变慢了 是不是有人蹭我家网 还有的时候咱们出门也想试图蹭一下别人家的网 这里 蹭网 的前提是要破解对方的 无线密码 那么这个 无线密码 到底是否安全呢 其技术原理是如何的呢 我们又
  • 相应通道无电压但ADC的值却在大幅变化且不等于0的可能原因

    今天分享一个自己的粗心引起的现象 就是之前在做ADC时候 采用单通道 规则组 和软件触发 发现ADC采集的值一直在变化 而且我都没有输入相应的电压 按理来说 ADC输出的值应该为0 10 存在偏差 但是其值却不等于0并且一直不断的变化 于是
  • 基于免疫优化算法的物流配送中心选址规划研究(Matlab实现)

    目录 1 概述 2 物流配送中心选址规划研究 3 Matlab代码 4 结果 1 概述 影响物流配送中心选址的因素有很多 精确选址优化问题亟待解决 通过充分考虑货物的配送时间 将免疫算法加入其中 介绍了物流配送选址模型的构建以及免疫算法实现
  • Spring AOP源码解析-拦截器链的执行过程

    一 简介 在前面的两篇文章中 分别介绍了 Spring AOP 是如何为目标 bean 筛选合适的通知器 以及如何创建代理对象的过程 现在得到了 bean 的代理对象 且通知也以合适的方式插在了目标方法的前后 接下来要做的事情 就是执行通知
  • 主流开源数据库的技术特点(转载)

    点评主流开源数据库的技术特点 2006 02 24 来自 计算机世界 曹江华 随着开放源代码软件的使用越来越广泛 像Linux操作系统一样 开放源代码数据库的出现也有其必然性 在当Oracle IBM Microsoft Sybase 等几
  • 振动数据采集上位机(包含实时智能算法分析)开发

    功能模块介绍 上位机界面如下 开始采集按钮 当点击该按钮后 上位机开始采集数据 并界面展示时域数据信号 在开始采集之前必须先输入串口号和波特率和采样率 FFT分析 当点击按钮后 界面展示FFT频谱 系统参数按钮 可继续扩展 当点击该按钮后
  • 2的31次方和3的21次方哪个大,123组成最大的数是多少?

    123这三个数字组成最大的数是什么数 面试官告诉小孙 123这三个数字组成最大的数是什么数 我希望你能够在5分钟之内回答出来 小孙当时连想都没有想 123组成的最大数字 当然就是123了 当小孙把这个答案告诉面试官的时候 面试官摇摇头 然后
  • Min Difference 二分优化

    题目链接 暴力的时间复杂度是O n 2 n 2 n2 只能在查询的时候优化一下 可以手写一个左闭右开的二分 也可以使用库函数 l
  • 英语语法笔记——并列句(二)

    找出长难句主干的三个步骤 看标点符号 看标点符号 看逗号 判断都在前面和逗号后面的部分 看看 介词 从句和非谓语动词在前面还是后面 如果在前面主干就在后面 如果在后面 主干就在前面 介词等 主干 主干 介词等 看分号 分号前后相当于一个并列
  • k8s 裸机安装 nginx1.19 ingrass

    k8s 裸机安装 nginx1 19 ingrass deploy yaml文件如下 apiVersion v1 kind Namespace metadata name ingress nginx labels app kubernete
  • javaAPI

    第一章 集合框架 集合框架 多个接口和类 不知道存在的对象的数量或者需要更复杂的方式来存储对象时 一一对应时也可以使用 可以使用集合框架 Java集合框架提供一套性能优良 使用方便得接口和类 它们为与java util包中 a Collec
  • 英语什么叫做自控力720词

    Two common terms from the psychological literature are self regulation and self control Self regulation is your ability
  • idea导入项目,Lombok插件安装了,且配置文件中配置了,还是不能正常启动,表示找不到get、set方法

    1 保证安装了Lombok插件 2 保证maven或者gradle中添加了依赖 3 如下配置
  • E45: ‘readonly‘ option is set (add ! to override)

    vim 修改文件出现错误 E45 readonly option is set add to override 其实这是权限造成的 文件设置成了只读权 只读文件修改前需要执行sudo 但是已经修改了 如何强制保存呢 只需要保存的时候执行如下
  • 【Python】读取txt文件,获取指定行中指定位置数据

    问题描述 需求 读取大约有200多行的txt文件 获取17 216行中每行中指定位置中的数值 实现 coding utf 8 Date 2020 5 21 21 53 Author Pangpd FileName read log py I
  • pytorch: tensor类型的构建与相互转换

    Summary 主要包括以下三种途径 使用独立的函数 使用torch type 函数 使用type as tesnor 将张量转换为给定类型的张量 使用独立函数 import torch tensor torch randn 3 5 pri