python选取tensor某一维_Pytorch的Tensor操作(1)

类型推断

98a45ffedcb32d0a6ea83fc24029af11.png

torch.randn():随机初始化

a.type():返回类型

type():返回基本类型

isinstance() :检查类型

a93e7b0280746cc91e0e0a7a432047d4.png

cuda会影响数据类型

标量

b_0_202007301630025860.jpg

维度(dimention)为0的标量

标量的shape:

3b127fc0aa0fb0700a2b8c51b1cdcf4b.png

返回类型为【】(空的list),返回长度也为0

a.dimension()也为0

Dim1

b_0_202007301630031474.jpg

torch.tensor() : 输入具体数据

torch.FloatTensor() :输入类型大小

Dim1的shape

b_0_202007301630038873.jpg

Dim2

6dcff7df632201f1feaa55d117d32da4.png

Dim3

18db90b4e9ac20c203c00b2af2121fad.png

Dim4(一般用于图像)

5884bdbb75504768fcbd188c40425063.png

1dfeba68f294b653a647b46a59b83849.png

创建Tensor

import from numpy

从numpy转化为tensor类型, 数据类型(float)不变,变量类型(np→numpy)变了

8ff9aa8c6f0cb5357db498363118e93e.png

2ef490e415e05fd5e32d4ee14d62fc50.png

生成未初始化tensor

381a6c86ea4b38a07d9fe8c7d7369179.png

设置默认类型

602209b3357434c3e59ab0657f294a32.png

随机初始化

torch.rand() :随机采样【0,1】之间的数

torch.rand_like(a): 采样出与a相同类型的tensor

torch.randint(min,max,[type]):不包含最大值

036a30f72dfce6dbc880c17c4a297c12.png

正态分布随机初始化

torch.normal(mean,std): 自定义的正态分布,需要给出相同数量的均值和方差

23dbdc6274a5ce20e47917bfa6b45aee.png

重复填充

torch.full():类型为[]时,表示生成的为标量

95201d61c7a09c556d18328cc64cc9de.png

范围

torch.arange():生成不包含最大值的等差数列

44d1b1c3139a0fdfbe849bfecf938754.png

torch,linspace(min,max,steps= ):包含最大值,steps是切分后的数量

2cd7ecdbf0edc49013e054c05f86a64f.png

全1/零/单位矩阵

torch.eye():中如果不是方阵,多余部分为0

b98f311754cf49fe35e43aac42b7f955.png

随机打散

torch.randperm(): 生成不包含最大值的索引

c6f30ce7e311cdeec1e95b8b2faceda8.png

下面对第一维进行shuffle,randperm中的参数必须与类型的第一维相同。a和b的idx相同,防止匹配错误

下图表示,randperm中定义需要两个索引时,分别返回a b的对应索引值

a9912a56df19b8fc8bd3cf6558079d6b.png

切片和索引

索引

76b62ba2b9942d3d207d4b35756f38c0.png

取不到“ :”后的元素

-1表示最后一个元素

6df9acdf817b78ac9c47c72eb3286561.png

分段采样

出现两个“:”表示的是:start :end :step(默认为1,为1可省略)

6413f575d2155736d5cd4c0439cbe42b.png

指定维度采样

88425b22bca1ccf987de2e4fca7fe9db.png

“ ...”:表示同时取多个维度,只能全选或已知前后具体采样维度,剩下的全选,某一维度取“1”时,会自动降维

0aba88e9c5de80fa5e664def9ccfa05a.png

根据MASK选择

先根据条件,得到一定的掩码,根据满足条件的掩码值重新在原始数据中进行选择

ea116227b68a4add0b0b874c93345ee3.png

铺展(Flatten)索引值

f3f1d8a33e93e32dc977b294d60d2e22.png

纬度变化

View Reshape

94901cda63d1681b9754f021107957a5.png

6b8120af9fa380c507fd7ad038940618.png

增维(Unsqueeze)

1b59073ff9538eedf8da60060f510660.png

下面的a为标量,在第0维与第1维添加维度后,分别会变为[1,2] [2,1]

6f00c5ac7c05c4b0b7626d54dec537ac.png

下面是bias向权重类型变化过程

46b69adf6ef6d417f6d08a517f2af9af.png

降维(squeeze)

如果没有具体参数,将去除所有为“1”的维度

带有参数,将对对应维度进行去除

a514eac7a872f5d10c6e0e2c53796907.png

扩展(expand)

总维度必须相同,且只能从1维度扩展到指定维度或直接相同

“-1”保持原来维度不变

a2cef5dc9addb1485ca001a629538f11.png

重复(repeat)

与expand参数不同,每个维度的值表示对对应维度进行的重复次数。

346c911f645a622dbff9e3588907493f.png

矩阵转置(transpose)

108ec18e868d0c2aabc2fc9f79c622df.png

下面两行函数说明,即使前后的总体数据类型的大小相同,但是相同维度所表示的意义也进行了交换,因此不再表示同一Tensor

e4789f2c3ab6704242a6b65bd632ca90.png

permute

可以自动调用transpose,并保证维度顺序的顺利交换

3d7f51c625ac5e513a14b5708a70cf91.png

本文地址:https://blog.csdn.net/qq_42518956/article/details/107621610

希望与广大网友互动??

点此进行留言吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

201521123014 《Java程序设计》第8周学习总结

201521123014 《Java程序设计》第8周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容。 泛型(编写的代码可被不同类型的对象所重用) Java中一个集合可以放任何类型的对象,因为…

【4.0】jdbcTemplate

1.什么是jdbcTemplate? 2.使用jdbcTemplate 3.crud操作 参考博文:http://blog.csdn.net/u014800380/article/details/64125653 4.采用配置文件的方式使用jdbcTemplate 参考博文:http://suyanzhu.blog.51cto.com/8050189/1563219/ 参考博文原文&#x…

基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文)

基于MODBUS协议的单片机与(串口屏)触摸屏通信(图文) 导读:触摸屏能够直观、生动地显示运行参数和运行状态,而且通过触摸屏画面可以直接修改系统运行参数,人机交互性好。触摸屏和单片机通信,需要根据触摸屏采用的通信协议为单片机编…

【转】C#之继承

C#之继承 一.继承的类型  在面向对象的编程中,有两种截然不同继承类型:实现继承和接口继承  1.实现继承和接口继承  *实现继承:表示一个类型派生于基类型,它拥有该基类型的所有成员字段和函数。在实现继承中,派生…

java 学习计划_Java学习计划范例

Java学习计划范例Java学习计划好的计划是成功的一半,今天是在创新思维的第一节课,在这门课程的开始,一个有策略的、有目的性的计划是非常必要的,为了在以后的学习中能够达到最好的.效果,"坚持"是一把雕刻刀&…

SQL Server 2012自动备份

SQL 2012和2008一样,都可以做维护计划,来对数据库进行自动的备份。 现在做这样一个数据库维护的计划,每天0点对数据库进行差异备份,每周日0点对数据库进行完全备份,并且每天晚上10点删除一次过期备份(两个星…

mysql查逻辑表的分片规则_MySQL(19) Mycat分片(分库分表)配置

一、前言本文将基于主从复制,读写分离的环境基础上进行一个简单的分片(分库分表)配置二、Mycat分片配置mycat分片主要在scheam.xml,rule.xml这2个表中配置① scheam.xml:配置逻辑表以及对应使用的分片规则select user()这里小编主要对t_user表…

JS取消浏览器文本选中的方法

一 、问题的出现 今天在使用Easy-UI 的messager.alert()方法时候出现浏览器文本被选中,不知道其中是什么原因,如下图所示。 二 、解决思路 我最后的思路时在弹出消息框的同时,取消浏览器文本的选择,最后查找资料编写如下方法。  …

linux 脚本 java_Linux 通过脚本执行Java程序

由于要统计不同的IP,代码中应用了HashSet来存放IP地址。上述Java程序是在Windows下编写的,如果在Linux服务器上运行,只需要把上面文件的路径和文件更换了就可以了。2.编写好java程序后,将java程序打成jar文件(环境Linux)我将上述测…

Java开启/关闭tomcat服务器

© 版权声明:本文为博主原创文章,转载请注明出处 通过java代码实现Tomcat的开启与关闭 1.项目结构 2.CallTomcat.java package com.calltomcat.test;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;…

5、如何快速找到多个字典中的公共键(key) 6 如何让字典保持有序 7 如何实现用户的历史记录功能(最多n条)...

5、如何快速找到多个字典中的公共键(key) from random import randint,sample #随机取数 # a sample("ABCDEF",randint(5,6)) # print(a) # b1 {x:randint(1,4) for x in sample("ABCDEF",randint(3,6))} # b2 {x:randint(1,4) for x in sample("A…

KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机

一 .KVM 简介 KVM (名称来自英语: Kernel-basedVirtual Machine 的缩写,即基于内核的虚拟机) , 是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Li…

python 如何在一个for循环中遍历两个列表

是我在看《笨方法学python》过程中发现有一行代码看不懂——“ for sentence in snippet, phrase:”,所以研究了半天,感觉挺有收获的。所以就放在博客上分享给大家了。 直入主题: 为了不耽误大家时间,如果知道以下为两段代码为什么…

画王八java代码参数_java画乌龟源代码-郭遥航.doc

java画乌龟源代码-郭遥航.doc /*JAVA基本功小练习用java语言描述小王八用鼠标可以拖动小乌龟进行移动选中乌龟时可以显示小乌龟的腹面*/importjava.awt.*;importjavax.swing.*;importjava.awt.event.MouseMotionListener;importjava.awt.event.MouseListener;importjava.awt.ev…

java服务注册中心有哪些_Spring Cloud服务注册中心简述

概念当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能:登记每个服务提供的功能检测每个服务是否可用,不可用的服务剔除服务间互相调用时,通过服务注册中心很容易找到目标服务…

JavaScript原生对象及扩展

来源于 https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集;而后…

实例化Java对象_Java面向对象基础之对象实例化

1、实例化对象的过程可以分为两部分,例如下面代码:Person per new Person();该代码分为两部分:第一,声明对象:Personper,这部分是在栈内存中声明的,与数组一样,数组名称及时保存在占内存之中,只是开闭了真内存,对象是…

HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面 详细错误:HTTP 错误...

错误摘要 HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。 详细错误信息 模块IsapiModule通知ExecuteRequestHandler处理程序ExtensionlessUrlHandler-ISAPI-4.0_32bit错误代码0x800704ec请求的 URLhttp://:…

vue value key

转载于:https://www.cnblogs.com/lily2021/p/6772817.html

go的timer定时器实现

示例如下: package mainimport ("fmt""time" )func testTimer1() {go func() {fmt.Println("test timer1")}()}func testTimer2() {go func() {fmt.Println(time.Now().String())}() }func timer1() {timer1 : time.NewTicker(1 * ti…