Data is ___ ?
article thumbnail

torch.max : 최댓값을 출력

  • dim=0이면 dim=1이면 뭐를 기준으로 어떻게 더한다...이런게 나는 헷갈려서 터득한 방법이 있다 !
  • torch.sum과 마찬가지로 인덱스를 이용하여 구하는 방법
  • 예를 들어, 아래와 같이 dim=0을 기준으로 하면 인덱스 0번째 값이 5이므로, 5개가 묶인 곳 중에서 최댓값 하나를 산출하고 나머지 1번째 인덱스 값만큼의 크기로 출력 (즉, (1, 3)크기의 행렬이 출력된다.)
>>> import torch

>>> a = torch.randn(5, 3)
>>> print(a)
"""
tensor([[-1.1260, -0.7415, -0.9703],
        [-0.8786, -1.6561, -0.2796],
        [ 0.1368,  0.8606, -0.3936],
        [-1.1206, -0.4867, -0.2786],
        [ 1.4993, -1.3967,  1.6760]])
 """
------------------------------------------------------------------------ 
>>> d0_max = torch.max(a, dim=0)
>>> print(d0_max)
"""
torch.return_types.max(
values=tensor([1.4993, 0.8606, 1.6760]),
indices=tensor([4, 2, 4]))
"""
------------------------------------------------------------------------
>>> d1_max = torch.max(a, dim=1)
>>> print(d0_max)
"""
torch.return_types.max(
values=tensor([1.4993, 0.8606, 1.6760]),
indices=tensor([4, 2, 4]))
"""

⚠ dim 파라미터를 추가하지 않으면 순서가 1행(1열-2열-3열-4열) -> 2행(1열-2열-3열-4열) -> ... 순으로 확인한다. 

 

 

 


torch.argmax : 최댓값의 위치를 출력

  • 마찬가지로 인덱스를 이용한다.
  • 예를 들어, 아래와 같이 dim=1을 기준으로 하면 인덱스 1번째 값이 3이므로, 3개가 묶인 곳 중에서 최댓값 하나를 산출하고 나머지 0번째 인덱스 값만큼의 크기로 출력 (즉, (1, 5)크기의 행렬이 출력된다.)
import torch
a = torch.randn(5, 3)
print(a)
"""
tensor([[ 0.3659,  0.6993,  1.3399],
        [-0.5662, -1.6437, -1.2653],
        [ 1.4646, -0.5074, -0.2942],
        [-1.1322, -0.2264,  0.6666],
        [-1.0214,  0.7334,  1.6440]])
"""
-------------------------------------------------------------------------------
d0_argmax = torch.argmax(a, dim=0)
print(d0_argmax)
"""
tensor([2, 4, 4])
"""
-------------------------------------------------------------------------------
d1_argmax = torch.argmax(a, dim=1)
print(d1_argmax)
"""
tensor([2, 0, 0, 2, 2])
"""

 

'Python > 라이브러리' 카테고리의 다른 글

[Pytorch] GPU device  (0) 2023.01.28
[Pytorch] Dataset, DataLoader  (0) 2023.01.27
[Python] 파이썬 파일 관련 코드들  (0) 2023.01.20
[Matplotlib] 정리  (0) 2023.01.20
[Pytorch] nn.Linear( ), MLP  (0) 2023.01.20
profile

Data is ___ ?

@콩순이컴퓨터

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

profile on loading

Loading...