*Memos:
- My post explains sum() and nansum().
- My post explains prod() and cartesian_prod().
- My post explains mean() and nanmean().
- My post explains cumsum() and cumprod().
- 
My post explains torch.nanandtorch.inf.
median() can get the 0 or more D tensor of one median element or two of the 0D or more D tensors of zero or more median elements and their indices, normally treating zero or more NaNs(Not a Numbers) from the 0D or more D tensor of zero or more elements as shown below:
*Memos:
- 
median()can be used with torch or a tensor.
- The 1st argument(input) withtorchor using a tensor(Required-Type:tensorofintorfloat).
- The 2nd argument with torchor the 1st argument with a tensor isdim(Optional-Type:int). *It can get two of the 0D or more D tensors of the zero or more median elements and their indices.
- The 3rd argument with torchor the 2nd argument with a tensor iskeepdim(Optional-Default:False-Type:bool): *Memos:- It must be used with dim.
- 
My post explains keepdimargument.
 
- It must be used with 
- There is outargument withtorch(Optional-Default:None-Type:tuple(tensor,tensor) orlist(tensor,tensor): *Memos:- It must be used with dim.
- 
out=must be used.
- 
My post explains outargument.
 
- It must be used with 
- Normally, the arithmetic operation with a NaN results in a NaN.
- The empty 1D or more D inputtensor or tensor withoutdimgets a NaN.
- The empty 1D or more D inputtensor or tensor with the deepestdimdoesn't work to get a NaN.
import torch
my_tensor = torch.tensor([5., 4., 7., 7.])
torch.median(input=my_tensor)
my_tensor.median()
# tensor(5.)
torch.median(input=my_tensor, dim=0)
torch.median(input=my_tensor, dim=-1)
# torch.return_types.median(
# values=tensor(5.),
# indices=tensor(0))
my_tensor = torch.tensor([5., 4., torch.nan, 7., 7.])
torch.median(input=my_tensor)
# tensor(nan)
my_tensor = torch.tensor([[5., 4., 7., 7.],
                          [6., 5., 3., 5.],
                          [3., 8., 9., 3.]])
torch.median(input=my_tensor)
# tensor(5.)
torch.median(input=my_tensor, dim=0)
torch.median(input=my_tensor, dim=-2)
# torch.return_types.median(
# values=tensor([5., 5., 7., 5.]),
# indices=tensor([0, 1, 0, 1]))
torch.median(input=my_tensor, dim=1)
torch.median(input=my_tensor, dim=-1)
# torch.return_types.median(
# values=tensor([5., 5., 3.]),
# indices=tensor([0, 1, 3]))
my_tensor = torch.tensor([[torch.nan, 5., 4., torch.nan, 7., 7., torch.nan],
                          [6., torch.nan, 5., torch.nan, 3., 5., torch.nan],
                          [3., 8., torch.nan, torch.nan, 9., 3., torch.nan]])
torch.median(input=my_tensor)
# tensor(nan)
torch.median(input=my_tensor, dim=0)
# torch.return_types.median(
# values=tensor([nan, nan, nan, nan, 7., 5., nan]),
# indices=tensor([0, 1, 2, 0, 0, 1, 0]))
torch.median(input=my_tensor, dim=1)
# torch.return_types.median(
# values=tensor([nan, nan, nan]),
# indices=tensor([0, 1, 2]))
my_tensor = torch.tensor([[5, 4, 7, 7],
                          [6, 5, 3, 5],
                          [3, 8, 9, 3]])
torch.median(input=my_tensor)
# tensor(5)
my_tensor = torch.tensor([])
torch.median(input=my_tensor)
# tensor(nan)
torch.median(input=my_tensor, dim=0) # Error
my_tensor = torch.tensor([[]])
torch.median(input=my_tensor)
# tensor(nan)
torch.median(input=my_tensor, dim=0)
# torch.return_types.median(
# values=tensor([]),
# indices=tensor([], dtype=torch.int64))
torch.median(input=my_tensor, dim=1) # Error
my_tensor = torch.tensor([[[]]])
torch.median(input=my_tensor)
# tensor(nan)
torch.median(input=my_tensor, dim=0)
torch.median(input=my_tensor, dim=1)
# torch.return_types.median(
# values=tensor([], size=(1, 0)),
# indices=tensor([], size=(1, 0), dtype=torch.int64))
torch.median(input=my_tensor, dim=2) # Error
nanmedian() can get the 0D or more D tensor of one median element or two of the 0D or more D tensors of zero or more median elements and their indices, ignoring zero or more NaNs(Not a Numbers) only if they are with non-NaNs from the 0D or more D tensor of zero or more elements as shown below:
*Memos:
- 
nanmedian()can be used withtorchor a tensor.
- The 1st argument(input) withtorchor using a tensor(Required-Type:tensorofintorfloat).
- The 2nd argument with torchor the 1st argument with a tensor isdim(Optional-Type:int). *It can get two of the 0D or more D tensors of the zero or more median elements and their indices.
- The 3rd argument with torchor the 2nd argument with a tensor iskeepdim(Optional-Default:False-Type:bool): *Memos:- It must be used with dim.
- 
My post explains keepdimargument.
 
- It must be used with 
- There is outargument withtorch(Optional-Default:None-Type:tuple(tensor,tensor) orlist(tensor,tensor): *Memos:- It must be used with dim.
- 
out=must be used.
- 
My post explains outargument.
 
- It must be used with 
- Normally, the arithmetic operation with a NaN results in a NaN.
- The empty 1D or more D inputtensor or tensor withoutdimgets a NaN.
- The empty 1D or more D inputtensor or tensor with the deepestdimdoesn't work to get a NaN.
import torch
my_tensor = torch.tensor(torch.nan)
my_tensor = torch.tensor([torch.nan, torch.nan])
my_tensor = torch.tensor([torch.nan, torch.nan, torch.nan])
torch.nanmedian(input=my_tensor)
my_tensor.nanmedian()
# tensor(nan)
torch.nanmedian(input=my_tensor, dim=0)
torch.nanmedian(input=my_tensor, dim=-1)
# torch.return_types.nanmedian(
# values=tensor(nan),
# indices=tensor(0))
my_tensor = torch.tensor([5., 4., 7., 7.])
my_tensor = torch.tensor([5., 4., torch.nan, 7., 7.])
my_tensor = torch.tensor([5., 4., 7., 7., torch.nan])
torch.nanmedian(input=my_tensor)
# tensor(5.)
torch.nanmedian(input=my_tensor, dim=0)
torch.nanmedian(input=my_tensor, dim=-1)
# torch.return_types.nanmedian(
# values=tensor(5.),
# indices=tensor(0))
my_tensor = torch.tensor([[torch.nan, 5., 4., torch.nan, 7., 7., torch.nan],
                          [6., torch.nan, 5., torch.nan, 3., 5., torch.nan],
                          [3., 8., torch.nan, torch.nan, 9., 3., torch.nan]])
torch.nanmedian(input=my_tensor)
# tensor(5.)
torch.nanmedian(input=my_tensor, dim=0)
torch.nanmedian(input=my_tensor, dim=-2)
# torch.return_types.nanmedian(
# values=tensor([3., 5., 4., nan, 7., 5., nan]),
# indices=tensor([2, 0, 0, 0, 0, 1, 0]))
torch.nanmedian(input=my_tensor, dim=1)
torch.nanmedian(input=my_tensor, dim=-1)
# torch.return_types.nanmedian(
# values=tensor([5., 5., 3.]),
# indices=tensor([1, 2, 5]))
my_tensor = torch.tensor([[5, 4, 7, 7],
                          [6, 5, 3, 5],
                          [3, 8, 9, 3]])
torch.nanmedian(input=my_tensor)
# tensor(5)
my_tensor = torch.tensor([])
torch.nanmedian(input=my_tensor)
# tensor(nan)
torch.nanmedian(input=my_tensor, dim=0) # Error
my_tensor = torch.tensor([[]])
torch.nanmedian(input=my_tensor)
# tensor(nan)
torch.nanmedian(input=my_tensor, dim=0)
# torch.return_types.nanmedian(
# values=tensor([]),
# indices=tensor([], dtype=torch.int64))
torch.nanmedian(input=my_tensor, dim=1) # Error
my_tensor = torch.tensor([[[]]])
torch.nanmedian(input=my_tensor)
# tensor(nan)
torch.nanmedian(input=my_tensor, dim=0)
torch.nanmedian(input=my_tensor, dim=1)
# torch.return_types.nanmedian(
# values=tensor([], size=(1, 0)),
# indices=tensor([], size=(1, 0), dtype=torch.int64))
torch.nanmedian(input=my_tensor, dim=2) # Error
 

 
    
Top comments (0)