当前位置:网站首页>Pytorch学习(四)
Pytorch学习(四)
2022-07-04 17:54:00 【马少爷】
1、range和arange
创建1维张量
这里给出一段示例:
z = torch.range(1,10)
print(z,z.shape)
z = torch.arange(1,10)
print(z,z.shape)
torch.range(1,10)和 torch.arange(10)都产生了一个1维的数组,类型是 <class ‘torch.Tensor’>
二者不同的是
range产生的长度是10-1+1=10 是由1到10组成的1维张量,类型float
而arange产生的是10-1=9 由1-9组成的1维度张量 ,类型int
他们的输出分别是
需要注意的是,range第一个值不能缺省,arange可以,默认0,其输出就是:tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) torch.Size([10])
# z = torch.range(10)
# print(z,z.shape)
z = torch.arange(10)
print(z,z.shape)
二、repeat复制张量
z = torch.arange(10)
print(z,z.shape)
z = torch.arange(10).repeat(10,1)
print(z,z.shape)
z = torch.arange(10).repeat(10,2,1)
三、View:改变张量形状
View的机制顺序地拿数据填充形状,注意,定义的形状所需要的数据的数量必须=能提供的数据数量
比如:[10x10] 的张量可以.view(1,1,10,10) 也可以.view(5,20) 但是不可以.view(10,11) ,一旦数据数量不同,就会报数据无效的错误
代码示例
z = torch.arange(10)
print(z,z.shape)
z = torch.arange(10).repeat(10,1)
print(z,z.shape)
z = torch.arange(10).repeat(10,1).view(1,1,10,10)
print(z,z.shape)
z = torch.arange(10).view(1,10).repeat(10,2)
print(z,z.shape)
四、Concat和add操作
Concat:张量拼接,会扩充两个张量的维度,
add:张量相加,张量直接相加,不会扩充维度。
一般情况下,feature maps的结合有两种方法,一种是元素对应相加,简称add,另一种就是把特征图堆到一起来,简称concatenate。
假设feature map 1 的维度为B1∗ C1 ∗ H1 ∗ W1
feature map 2 的维度为B2 ∗ C2 ∗ H2 ∗ W2
1)在add情况下,就是两个四维矩阵的按元素相加,那么这时候我们需要两个矩阵维度全部相等。并且相加后矩阵维度不变。
例如26 * 26 * 256和26 * 26 * 256相加,结果还是26 * 26 * 256
2)在concatenate情况下,我们把两个矩阵在某个维度叠加起来,这要求在这个连接的维度上可以不同,但是在其他维度上必须相等。叠加后,某个维度会增加,是两个矩阵上的某个维度相加。比如,我们在Channel这个维度上连接两个矩阵,那么新的矩阵维度是B2 ∗ ( C2 + C1 )∗ H2 ∗ W2
例如26 * 26 * 256和26 * 26 * 512相加,结果是26 * 26 * 768
边栏推荐
猜你喜欢
Bi skills - permission axis
Process of manually encrypt the mass-producing firmware and programming ESP devices
Wireshark网络抓包
Go微服务(二)——Protobuf详细入门
Rookie post station management system based on C language
Scala basic tutorial -- 15 -- recursion
FPGA时序约束分享01_四大步骤简述
【uniapp】uniapp开发app在线预览pdf文件
2022 ByteDance daily practice experience (Tiktok)
在线SQL转Excel(xls/xlsx)工具
随机推荐
Shell 编程核心技术《三》
Basic tutorial of scala -- 16 -- generics
Shell programming core technology "three"
英特尔集成光电研究最新进展推动共封装光学和光互连技术进步
A method of using tree LSTM reinforcement learning for connection sequence selection
C#实现定义一套中间SQL可以跨库执行的SQL语句(案例详解)
用实际例子详细探究OpenCV的轮廓绘制函数drawContours()
模板_判断素数_开方 / 六素数法
One question per day (2022-07-02) - Minimum refueling times
2022CoCa: Contrastive Captioners are Image-Text Fountion Models
Cache é JSON uses JSON adapters
Unity编辑器扩展C#遍历文件夹以及子目录下的所有图片
2022-07-04: what is the output of the following go language code? A:true; B:false; C: Compilation error. package main import 'fmt' func
Nebula importer data import practice
[发布] 一个测试 WebService 和数据库连接的工具 - DBTest v1.0
[opencv introduction to mastery 9] opencv video capture, image and video conversion
IBM WebSphere MQ retrieving messages
2014合肥市第三十一届青少年信息学奥林匹克竞赛(小学组)试题
性能优化之关键渲染路径
模板_大整数减法_无论大小关系