반응형
소개
torch.log는 PyTorch에서 텐서의 각 요소에 대해 자연 로그(natural logarithm, base 𝑒)를 계산하는 함수입니다. 이 함수는 텐서의 모든 요소에 대해 개별적으로 로그 값을 반환하며, 로그 변환이 필요한 데이터 처리 및 확률 계산에 자주 사용됩니다. 특히, 로그 손실(log loss) 또는 로그 확률을 계산할 때 유용하게 사용됩니다.
기본 사용법
상세 설명
- torch.log(tensor)는 텐서의 각 요소에 대해 자연 로그 값을 계산하여 반환합니다.
- 2차원 텐서에서도 모든 요소에 대해 자연 로그를 계산할 수 있습니다.
- 로그 변환은 데이터 분포의 균형을 맞추거나, 확률 분포에서 로그 확률을 계산할 때 자주 사용됩니다.
- 딥러닝에서 손실 함수 계산이나 확률 모델링 등에서 로그 연산이 필요할 때 torch.log를 사용합니다. 예를 들어, 음수 확률이 없도록 소프트맥스 출력을 로그 확률로 변환할 때 유용하게 사용됩니다.
예시 설명
- 첫 번째 예시에서 torch.log(tensor)는 1D 텐서 [1.0, 2.7183, 7.3891]의 각 요소에 대해 자연 로그를 계산하여 [0.0, 1.0, 2.0]을 반환합니다.
- 두 번째 예시에서는 2D 텐서의 각 요소에 대해 자연 로그를 계산하여 결과를 반환합니다.
import torch
# 1D 텐서 생성
tensor = torch.tensor([1.0, 2.7183, 7.3891])
# 텐서의 각 요소에 대해 자연 로그 적용
log_result = torch.log(tensor)
print(log_result)
# 출력: tensor([0.0000, 1.0000, 2.0000])
# 2D 텐서 생성
tensor = torch.tensor([[1.0, 2.7183, 7.3891], [20.0855, 54.5981, 148.4132]])
# 텐서의 각 요소에 대해 자연 로그 적용
log_result = torch.log(tensor)
print(log_result)
# 출력: tensor([[0.0000, 1.0000, 2.0000],
# [3.0000, 4.0000, 5.0000]])
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 텐서의 최댓값 인덱스 찾기: torch.argmax() 설명 (0) | 2024.08.25 |
---|---|
[PyTorch] 텐서의 지수 계산: torch.exp() 설명 (0) | 2024.08.25 |
[PyTorch] 배치(batch) 단위의 행렬 곱셈: torch.bmm() 설명 (0) | 2024.08.24 |
[PyTorch] 2D 텐서 간의 행렬 곱셈: torch.mm() 설명 (0) | 2024.08.24 |
[PyTorch] 텐서 간의 행렬 곱셈: torch.matmul() 설명 (0) | 2024.08.24 |