当前位置:网站首页>Pytoch foundation - (2) mathematical operation of tensor

Pytoch foundation - (2) mathematical operation of tensor

2022-07-06 03:27:00 Up and down black

Catalog

One 、 Basic operation

Two 、 Maximum 、 minimum value 、 mean value 、 The absolute value 、 Sort

3、 ... and 、tensor The index of


One 、 Basic operation

import torch

x = torch.tensor([2, 2, 2], dtype=torch.float32)
y = torch.tensor([3, 4, 5], dtype=torch.float32)
  • Add
out1 = torch.add(x, y)
print(out1)
  • Subtraction
out2 = torch.sub(x, y)
print(out2)
  • division
out3 = torch.div(x, y)
print(out3)

  •   Multiplication
out4 = torch.mul(x, y)
print(out4)
  • Matrix multiplication
a = torch.rand((2, 5))
b = torch.rand((5, 3))

out5 = torch.mm(a, b)
print(out5)
print(out5.shape)
  • Batch matrix multiplication
batch = 16
c1 = 5
c2 = 10
c3 = 20

x1 = torch.rand(batch, c1, c2)  # 16*5*10
x2 = torch.rand(batch, c2, c3)  # 16*10*20

out6 = torch.bmm(x1, x2)  # 16*5*20
print(out6.shape)
  • Index
out7 = x.pow(3)
print(out7)
  • Matrix index
x = torch.tensor([[1, 1], [1, 1]])  # (2*2) The number of rows and columns must be the same 
out8 = x.matrix_power(2)
print(out8)  # 2*2
  • broadcasting
x1 = torch.rand((1, 3))
x2 = torch.rand((3, 3))

out9 = x1 -x2
print(out9)

Two 、 Maximum 、 minimum value 、 mean value 、 The absolute value 、 Sort

import torch

x = torch.tensor([[-1, 2, 3], [4, 5, 6]], dtype=torch.float32)
y = torch.tensor([[1, 1, 2], [0, 10, 9]], dtype=torch.float32)
  • Maximum 、 minimum value 、 mean value
values, indice = torch.max(x, dim=0)   # dim=0 The column ,1 Said line 
print(values)  #  Value of maximum value 
print(indice)  #  Index of maximum value 

values, indice = torch.min(x, dim=0)   # dim=0 The column ,1 Said line 
print(values)  #  The minimum value 
print(indice)  #  Index of minimum value 

values, indice = torch.mean(x, dim=0)
print(values)
print(indice)
#  Find the maximum 、 Index of minimum value 
out1 = torch.argmax(x, dim=0)
out2 = torch.argmin(x, dim=0)
  • The absolute value
out = torch.abs(x)
print(out)
  • Sort
values, indice = torch.sort(x, dim=1, descending=False)  # descending=False Expressing ascending order 
print(values)
print(indice)

3、 ... and 、tensor The index of

  • Simple operation
x = torch.tensor([1, 4, 5, 6, 0, 8, 6, 1, 4, 5])
print(x[0])  #  First element 
print(x[1: 6])  #  Output No 2 One to the first 6 Elements 

x = torch.randn((3, 10))  # size 3x10
print(x[0])  #  Output No 1 All numbers of rows , size 1x10
print(x[0, :])  # size 1x10
print(x[:, 0])  #  Output No 1 All the numbers in the column , size 10x1

x = torch.randn((4, 10))
rows = [1, 3]
colums = [2, 9]
print(x[rows, colums])  # (2, 3) (4, 10)
  •   Conditional
x = torch.tensor([1, 4, 5, 6, 0, 8, 6, 1, 4, 5])
print(torch.where(x > 5, x, x/2))   # x>5 Time output x, Otherwise output x/2
  •   other
print(x.unique())  #  Output non repeating elements 
print(x.numel())  #  Output x The number of elements in 
原网站

版权声明
本文为[Up and down black]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060318135006.html