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中一个集合可以放任何类型的对象,因为…

java remove all_如何使用Java List等集合类的removeAll方法

展开全部List等集合类的removeAll方法,API文档描述如下e69da5e6ba9062616964757a686964616f31333361303062:boolean removeAll(Collection> c)从列表中移除指定 collection 中包含的其所有元素(可选操作)。用法案例如下:List list1 new A…

【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…

java 默认排序方式_Java Collections.sort()实现List排序的默认方法和自定义方法

1.java提供的默认list排序方法主要代码:list list new arraylist();list.add("刘媛媛");list.add("王硕");list.add("李明");list.add("刘迪");list.add("刘布");//升序collections.sort(list,collator.getinst…

java random算法_负载均衡--随机算法(Random)

随机算法是指:从服务器列表中,随机选取一台服务器进行访问。由概率论可以得知,随着客户端调用服务端的次数增多,其实际效果趋近于平均分配请求到服务端的每一台服务器,也就是达到轮询的效果。一、算法描述假设有 N 台服…

Mysql group by 问题

根据标准sql规定,select字段(除聚合函数与)必须跟在group by后,但mysql除外,即select * from table a group by a.property 无报错 聚合函数如下: 1. avg() 取其平均数 2.count() 取其数量,返回值为int 3.…

java io体系_java IO流的体系结构图

常用字节流字符流字节流 InputStream 字符流 ReaderFileInputStream BufferedReaderFilte…

jetty java 禁用目录列表_java – 如何禁用Jetty的WebAppContext目录列表?

我将Jetty(版本7.4.5.v20110725)嵌入到java应用程序中。我使用Jetty的WebAppContext在./webapps/jsp/中提供JSP页面,但是如果我访问localhost:8080 / jsp /我获取了Jetty的目录列表,以获取./webapps/jsp/的所有内容。我已经尝试将dirAllowed参…

Arch Linux 安装总结

这篇随笔的目的: 这篇是我今天重新安装后,觉得每次都看别人的来复制,太麻烦了,每次自己解决的一些问题,又不能及时记录下来,导致每次都又需要一通乱找,肯定比第一次开始搜索的要快,但…

java空心正方形代码_从Java中的用户输入绘制空心星号正方形/矩...

我正在尝试创建一个程序,要求用户提供正方形/矩形的宽度和长度尺寸,然后使用#符号将其绘制出来.我几乎了解了,除了我似乎不太了解矩形的右边以正确打印出来…这是我的代码:import java.util.Scanner;public class warmup3{public static void main(String[] args){i…

2017.4.17------软件测试的艺术+整理以前的摘记

2017.4.17 以下内容来自《软件测试的艺术》 第1页——14页。供自己学习使用。 第一章 软件测试:就是一个过程或一个系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。 第二章 测试人员需要有正确的态度。每当测试一…

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

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

java mask_Java 三大属性:

# Java 三大属性:面试时候问的一个很基础的问题,也是面向对象的三大特点。## 一、封装首先,属性可用来描述同一类事物的特征,方法可描述一类事物可做的操作。封装就是把属于同一类事物的共性(包括属性与方法)归到一个类中&#xf…

java 事物_java事务

1、事务的四大特性(1)原子性(Atomicity):原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。失败回滚的操作事务,将不能对数据库有任何影响(2)一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另…

【转】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()方法时候出现浏览器文本被选中,不知道其中是什么原因,如下图所示。 二 、解决思路 我最后的思路时在弹出消息框的同时,取消浏览器文本的选择,最后查找资料编写如下方法。  …

java 重构 if else_项目中的if else太多了,该怎么重构?

前言if else过多的话,一般都是用策略模式来进行重构,策略模式也非常的简单。先定义一个接口,各种处理分支实现这个接口,定义好 条件->处理类的映射关系,然后根据条件找到响应的处理类执行即可,当有新的分…