当前位置:网站首页>Pytoch learning (4)

Pytoch learning (4)

2022-07-04 19:49:00 Master Ma

1、range and arange
establish 1 D tensor
Here is an example :

z = torch.range(1,10)
print(z,z.shape)

z = torch.arange(1,10)
print(z,z.shape)

torch.range(1,10) and torch.arange(10) All produced a 1 An array of dimensions , The type is <class ‘torch.Tensor’>
The difference between them is
range The resulting length is 10-1+1=10 By 1 To 10 Composed of 1 D tensor , type float
and arange What happened was 10-1=9 from 1-9 Composed of 1 Dimensional tensor , type int
Their outputs are
 Insert picture description here

It should be noted that ,range The first value cannot be defaulted ,arange Sure , Default 0, The output is :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)

 Insert picture description here
Two 、repeat Copy tensor

z = torch.arange(10)
print(z,z.shape)
z = torch.arange(10).repeat(10,1)
print(z,z.shape)

 Insert picture description here

z = torch.arange(10).repeat(10,2,1)
 Insert picture description here
3、 ... and 、View: Change the tensor shape
View The mechanism fills shapes with data sequentially , Be careful , The amount of data required for a defined shape must = The amount of data that can be provided
such as :[10x10] The tensor of can .view(1,1,10,10) It's fine too .view(5,20) But not .view(10,11) , Once the amount of data is different , The error of invalid data will be reported
Code example

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)

 Insert picture description here

z = torch.arange(10).view(1,10).repeat(10,2)
print(z,z.shape)

 Insert picture description here

Four 、Concat and add operation
Concat: Tensor splicing , It expands the dimensions of two tensors ,
add: Add tensor , Tensors are added directly , It doesn't expand dimensions .

In general ,feature maps There are two ways to combine , One is the corresponding addition of elements , abbreviation add, The other is to pile up feature maps , abbreviation concatenate.
hypothesis feature map 1 The dimensions are B1∗ C1 ∗ H1 ∗ W1
feature map 2 The dimensions are B2 ∗ C2 ∗ H2 ∗ W2 ​

1) stay add Under the circumstances , It is the addition of two four-dimensional matrices by elements , Then at this time, we need the two matrix dimensions to be all equal . And the dimension of the matrix remains unchanged after adding .
for example 26 * 26 * 256 and 26 * 26 * 256 Add up , The results are 26 * 26 * 256

2) stay concatenate Under the circumstances , We superimpose the two matrices in a certain dimension , This requires that the dimension of this connection can be different , But it must be equal in other dimensions . After stack , A dimension will increase , Is the addition of a dimension on two matrices . such as , We are Channel This dimension connects two matrices , So the new matrix dimension is B2 ∗ ( C2 + C1 )∗ H2 ∗ W2
for example 26 * 26 * 256 and 26 * 26 * 512 Add up , The result is 26 * 26 * 768

原网站

版权声明
本文为[Master Ma]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/185/202207041753494765.html