当前位置:网站首页>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
边栏推荐
猜你喜欢

Use canal and rocketmq to listen to MySQL binlog logs

用实际例子详细探究OpenCV的轮廓绘制函数drawContours()

物联网应用技术的就业前景和现状

每日一题(2022-07-02)——最低加油次数

One question per day (2022-07-02) - Minimum refueling times

DeFi生态NFT流动性挖矿系统开发搭建
关于判断点是否位于轮廓内的一点思考

神经网络物联网是什么意思通俗的解释

2022CoCa: Contrastive Captioners are Image-Text Fountion Models

Don't just learn Oracle and MySQL!
随机推荐
Generate XML elements
LeetCode 赎金信 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
Download the first Tencent technology open day course essence!
Li Chi's work and life summary in June 2022
大佬们,求助一下,我用mysql cdc 2.2.1(flink 1.14.5)写入kafka,设置
使用SSH
Summary and sorting of 8 pits of redis distributed lock
使用FTP
In flinksql, in addition to data statistics, is the saved data itself a state
Using FTP
2021 Hefei informatics competition primary school group
Torchdrug tutorial
Scala basic tutorial -- 12 -- Reading and writing data
2021 合肥市信息学竞赛小学组
Is Guoyuan futures a regular platform? Is it safe to open an account in Guoyuan futures?
启牛开的证券账户安全吗?
Send and receive IBM WebSphere MQ messages
Qt实现界面滑动切换效果
1672. 最富有客户的资产总量