*My post explains min(), max(), argmin() and argmax().
sum() can get the sum values as shown below:
*Memos:
-
sum()
can be called both from torch and a tensor. - The 2nd argument is one or more dimensions with
torch
. - The 1st argument is one or more dimensions with a tensor.
import torch
my_tensor = torch.tensor([[5, 4, 7, 7],
[6, 5, 3, 5],
[3, 8, 9, 3]])
torch.sum(my_tensor)
my_tensor.sum()
# tensor(65)
torch.sum(my_tensor, 0)
my_tensor.sum(0)
torch.sum(my_tensor, (0,))
my_tensor.sum((0,))
torch.sum(my_tensor, -2)
my_tensor.sum(-2)
torch.sum(my_tensor, (-2,))
my_tensor.sum((-2,))
# tensor([14, 17, 19, 15])
torch.sum(my_tensor, 1)
my_tensor.sum(1)
torch.sum(my_tensor, (1,))
my_tensor.sum((1,))
torch.sum(my_tensor, -1)
my_tensor.sum(-1)
torch.sum(my_tensor, (-1,))
my_tensor.sum((-1,))
# tensor([23, 19, 23])
torch.sum(my_tensor, (0, 1))
my_tensor.sum((0, 1))
torch.sum(my_tensor, (0, -1))
my_tensor.sum((0, -1))
torch.sum(my_tensor, (1, 0))
my_tensor.sum((1, 0))
torch.sum(my_tensor, (1, -2))
my_tensor.sum((1, -2))
torch.sum(my_tensor, (-1, 0))
my_tensor.sum((-1, 0))
torch.sum(my_tensor, (-1, -2))
my_tensor.sum((-1, -2))
torch.sum(my_tensor, (-2, 1))
my_tensor.sum((-2, 1))
torch.sum(my_tensor, (-2, -1))
my_tensor.sum((-2, -1))
# tensor(65)
import torch
my_tensor = torch.tensor([[[0, 1, 2], [3, 4, 5]],
[[6, 7, 8], [9, 10, 11]],
[[12, 13, 14], [15, 16, 17]],
[[18, 19, 20], [21, 22, 23]]])
torch.sum(my_tensor) # tensor(276)
my_tensor.sum() # tensor(276)
torch.sum(my_tensor, 0)
my_tensor.sum(0)
torch.sum(my_tensor, (0,))
my_tensor.sum((0,))
torch.sum(my_tensor, -3)
my_tensor.sum(-3)
torch.sum(my_tensor, (-3,))
my_tensor.sum((-3,))
# tensor([[36, 40, 44], [48, 52, 56]])
torch.sum(my_tensor, 1)
my_tensor.sum(1)
torch.sum(my_tensor, (1,))
my_tensor.sum((1,))
torch.sum(my_tensor, -2)
my_tensor.sum(-2)
torch.sum(my_tensor, (-2,))
my_tensor.sum((-2,))
# tensor([[3, 5, 7], [15, 17, 19], [27, 29, 31], [39, 41, 43]])
torch.sum(my_tensor, 2)
my_tensor.sum(2)
torch.sum(my_tensor, (2,))
my_tensor.sum((2,))
torch.sum(my_tensor, -1)
my_tensor.sum(-1)
torch.sum(my_tensor, (-1,))
my_tensor.sum((-1,))
# tensor([[3, 12], [21, 30], [39, 48], [57, 66]])
torch.sum(my_tensor, (0, 1))
my_tensor.sum((0, 1))
torch.sum(my_tensor, (0, -2))
my_tensor.sum((0, -2))
torch.sum(my_tensor, (1, 0))
my_tensor.sum((1, 0))
torch.sum(my_tensor, (1, -3))
my_tensor.sum((1, -3))
torch.sum(my_tensor, (-2, 0))
my_tensor.sum((-2, 0))
torch.sum(my_tensor, (-2, -3))
my_tensor.sum((-2, -3))
torch.sum(my_tensor, (-3, 1))
my_tensor.sum((-3, 1))
torch.sum(my_tensor, (-3, -2))
my_tensor.sum((-3, -2))
# tensor([84, 92, 100])
torch.sum(my_tensor, (0, 2))
my_tensor.sum((0, 2))
torch.sum(my_tensor, (0, -1))
my_tensor.sum((0, -1))
torch.sum(my_tensor, (2, 0))
my_tensor.sum((2, 0))
torch.sum(my_tensor, (2, -3))
my_tensor.sum((2, -3))
torch.sum(my_tensor, (-1, 0))
my_tensor.sum((-1, 0))
torch.sum(my_tensor, (-1, -3))
my_tensor.sum((-1, -3))
torch.sum(my_tensor, (-3, 2))
my_tensor.sum((-3, 2))
torch.sum(my_tensor, (-3, -1))
my_tensor.sum((-3, -1))
# tensor([120, 156])
torch.sum(my_tensor, (1, 2))
my_tensor.sum((1, 2))
torch.sum(my_tensor, (1, -1))
my_tensor.sum((1, -1))
torch.sum(my_tensor, (2, 1))
my_tensor.sum((2, 1))
torch.sum(my_tensor, (2, -2))
my_tensor.sum((2, -2))
torch.sum(my_tensor, (-1, 1))
my_tensor.sum((-1, 1))
torch.sum(my_tensor, (-1, -2))
my_tensor.sum((-1, -2))
torch.sum(my_tensor, (-2, 2))
my_tensor.sum((-2, 2))
torch.sum(my_tensor, (-2, -1))
my_tensor.sum((-2, -1))
# tensor([15, 51, 87, 123])
torch.sum(my_tensor, (0, 1, 2))
my_tensor.sum((0, 1, 2))
etc.
# tensor(276)
mean() can get the mean(average) values as shown below:
*Memos:
-
mean()
can only accept floating-point or complex numbers so you need conversion to them if they are not as I explain it in my answer(17.1) otherwise there is the error -
mean()
can be called both fromtorch
and a tensor. - The 2nd argument is one or more dimensions with
torch
. - The 1st argument is one or more dimensions with a tensor.
import torch
my_tensor = torch.tensor([[5, 4, 7, 7],
[6, 5, 3, 5],
[3, 8, 9, 3]])
torch.mean(my_tensor.float()) # tensor(5.4167)
my_tensor.float().mean() # tensor(5.4167)
torch.mean(my_tensor.float(), 0)
my_tensor.float().mean(0)
torch.mean(my_tensor.float(), (0,))
my_tensor.float().mean((0,))
torch.mean(my_tensor.float(), -2)
my_tensor.float().mean(-2)
torch.mean(my_tensor.float(), (-2,))
my_tensor.float().mean((-2,))
# tensor([4.6667, 5.6667, 6.3333, 5.0000])
torch.mean(my_tensor.float(), 1)
my_tensor.float().mean(1)
torch.mean(my_tensor.float(), (1,))
my_tensor.float().mean((1,))
torch.mean(my_tensor.float(), -1)
my_tensor.float().mean(-1)
torch.mean(my_tensor.float(), (-1,))
my_tensor.float().mean((-1,))
# tensor([5.7500, 4.7500, 5.7500])
torch.mean(my_tensor.float(), (0, 1))
my_tensor.float().mean((0, 1))
torch.mean(my_tensor.float(), (0, -1))
my_tensor.float().mean((0, -1))
torch.mean(my_tensor.float(), (1, 0))
my_tensor.float().mean((1, 0))
torch.mean(my_tensor.float(), (1, -2))
my_tensor.float().mean((1, -2))
torch.mean(my_tensor.float(), (-1, 0))
my_tensor.float().mean((-1, 0))
torch.mean(my_tensor.float(), (-1, -2))
my_tensor.float().mean((-1, -2))
torch.mean(my_tensor.float(), (-2, 1))
my_tensor.float().mean((-2, 1))
torch.mean(my_tensor.float(), (-2, -1))
my_tensor.float().mean((-2, -1))
# tensor(5.4167)
import torch
my_tensor = torch.tensor([[[0., 1., 2.], [3., 4., 5.]],
[[6., 7., 8.], [9., 10., 11.]],
[[12., 13., 14.], [15., 16., 17.]],
[[18., 19., 20.], [21., 22., 23.]]])
torch.mean(my_tensor)
my_tensor.mean()
# tensor(11.5000)
torch.mean(my_tensor, 0)
my_tensor.mean(0)
torch.mean(my_tensor, (0,))
my_tensor.mean((0,))
# tensor([[9., 10., 11.], [12., 13., 14.]])
torch.mean(my_tensor, 1)
my_tensor.mean(1)
torch.mean(my_tensor, (1,))
my_tensor.mean((1,))
# tensor([[1.5000, 2.5000, 3.5000], [7.5000, 8.5000, 9.5000],
# [13.5000, 14.5000, 15.5000], [19.5000, 20.5000, 21.5000]])
torch.mean(my_tensor, 2)
torch.mean(my_tensor, (2,))
my_tensor.mean(2)
my_tensor.mean((2,))
torch.mean(my_tensor, -1)
my_tensor.mean(-1)
torch.mean(my_tensor, (-1,))
my_tensor.mean((-1,))
# tensor([[1., 4.], [7., 10.], [13., 16.], [19., 22.]])
torch.mean(my_tensor, -2)
my_tensor.mean(-2)
torch.mean(my_tensor, (-2,))
my_tensor.mean((-2,))
# tensor([[1.5000, 2.5000, 3.5000],
# [7.5000, 8.5000, 9.5000],
# [13.5000, 14.5000, 15.5000],
# [19.5000, 20.5000, 21.5000]])
torch.mean(my_tensor, -3)
my_tensor.mean(-3)
torch.mean(my_tensor, (-3,))
my_tensor.mean((-3,))
# tensor([[ 9., 10., 11.], [12., 13., 14.]])
torch.mean(my_tensor, (0, 1))
my_tensor.mean((0, 1))
torch.mean(my_tensor, (1, 0))
my_tensor.mean((1, 0))
torch.mean(my_tensor, (1, -3))
my_tensor.mean((1, -3))
torch.mean(my_tensor, (0, -2))
my_tensor.mean((0, -2))
torch.mean(my_tensor, (-2, 0))
my_tensor.mean((-2, 0))
torch.mean(my_tensor, (-2, -3))
my_tensor.mean((-2, -3))
torch.mean(my_tensor, (-3, 1))
my_tensor.mean((-3, 1))
torch.mean(my_tensor, (-3, -2))
my_tensor.mean((-3, -2))
# tensor([10.5000, 11.5000, 12.5000])
torch.mean(my_tensor, (0, 2))
my_tensor.mean((0, 2))
torch.mean(my_tensor, (0, -1))
my_tensor.mean((0, -1))
torch.mean(my_tensor, (2, 0))
my_tensor.mean((2, 0))
torch.mean(my_tensor, (2, -3))
my_tensor.mean((2, -3))
torch.mean(my_tensor, (-1, 0))
my_tensor.mean((-1, 0))
torch.mean(my_tensor, (-1, -3))
my_tensor.mean((-1, -3))
torch.mean(my_tensor, (-3, 2))
my_tensor.mean((-3, 2))
torch.mean(my_tensor, (-3, -1))
my_tensor.mean((-3, -1))
# tensor([10., 13.])
torch.mean(my_tensor, (1, 2))
my_tensor.mean((1, 2))
torch.mean(my_tensor, (1, -1))
my_tensor.mean((1, -1))
torch.mean(my_tensor, (2, 1))
my_tensor.mean((2, 1))
torch.mean(my_tensor, (2, -2))
my_tensor.mean((2, -2))
torch.mean(my_tensor, (-1, 1))
my_tensor.mean((-1, 1))
torch.mean(my_tensor, (-1, -2))
my_tensor.mean((-1, -2))
torch.mean(my_tensor, (-2, 2))
my_tensor.mean((-2, 2))
torch.mean(my_tensor, (-2, -1))
my_tensor.mean((-2, -1))
# tensor([2.5000, 8.5000, 14.5000, 20.5000])