t = torch.FloatTensor([[1, 2], [3, 4]])
t.mean() # 모든 요소 -> tensor(2.5000)
t.mean(dim=0) # 행끼리 -> tensor([2., 3.])
t.mean(dim=1) # 열끼리 -> tensor([1.5000, 3.5000])
t.mean(dim=-1) # 가장 마지막 차원끼리 -> tensor([1.5000, 3.5000])
Sum
t = torch.FloatTensor([[1, 2], [3, 4]])
t.sum() # 모든 요소 -> tensor(10)
t.sum(dim=0) # 행끼리 -> tensor([4., 6.])
t.sum(dim=1) # 열끼리 -> tensor([3., 7.])
t.sum(dim=-1) # 가장 마지막 차원끼리 -> tensor([3., 7.])
Max and Argmax
t = torch.FloatTensor([[1, 2], [3, 4]])
t.max() # 요소들 중 가장 큰 값
# tensor(4.)
t.max(dim=0) # 행들 중에서 가장 큰 행의 값과 인덱스
# torch.return_types.max(
# tvalues=tensor([3., 4.]),
# tindices=tensor([1, 1]))
t.max(dim=1) # 열들 중에서 가장 큰 열의 값과 인덱스
# torch.return_types.max(
# values=tensor([2., 4.]),
# indices=tensor([1, 1]))
ft = torch.FloatTensor([[0], [1], [2]])
ft.shape # torch.Size([3, 1])
ft.squeeze() # 요소가 1인 dim의 차원을 제거
ft.squeeze().shape # torch.Size([3])
ft.unsqueeze(0) # 첫 번째 dim에 차원 추가
ft.unsqueeze(0).shape # torch.Size([1, 3, 1])
ft.unsqueeze(1) # 두 번째 dim에 차원 추가
ft.unsqueeze(1).shape # torch.Size([3, 1, 1])