본문 바로가기
함수 설명/인공지능 (Pytorch)

[PyTorch] 단위 행렬 만들기: torch.eye() 함수 활용법

by First Adventure 2024. 7. 19.
반응형

소개

  torch.eye 함수는 PyTorch에서 주어진 크기의 단위 행렬(identity matrix)을 생성하는 함수입니다. 단위 행렬은 주 대각선의 요소가 1이고 나머지 요소가 0인 정사각 행렬로, 주로 신경망의 가중치 초기화, 선형 대수 계산, 변환 행렬 등의 다양한 작업에 유용하게 사용됩니다.

 

기본 사용법

상세 설명

  • torch.cat 함수의 기본 구문은 torch.cat(tensors, dim=0, out=None)입니다.
    • tensors: 결합할 텐서들의 튜플이나 리스트.
    • dim: 이어 붙일 차원을 지정합니다. 기본값은 0입니다.
    • out: 결과 텐서를 저장할 텐서.
  • torch.cat 함수는 주어진 텐서들을 지정된 차원(dim)으로 이어 붙여 새로운 텐서를 반환합니다. 이어 붙일 차원을 제외한 다른 차원들은 동일해야 합니다.

예시 설명

  • torch.cat((tensor1, tensor2), dim=0)은 두 텐서를 첫 번째 차원(행)으로 이어 붙입니다.
  • torch.cat((tensor1, tensor2), dim=1)은 두 텐서를 두 번째 차원(열)으로 이어 붙입니다.
  • torch.cat((tensor1, tensor2, tensor3), dim=0)은 세 개의 1차원 텐서를 첫 번째 차원으로 이어 붙여 하나의 긴 1차원 텐서를 만듭니다.
  • torch.cat((tensor1, tensor2), dim=0)은 GPU 장치에서 두 텐서를 첫 번째 차원으로 이어 붙입니다.
# 기본
import torch

tensor = torch.eye(3)
print(tensor)
# 출력: tensor([[1., 0., 0.],
#              [0., 1., 0.],
#              [0., 0., 1.]])

# 다양한 크기와 데이터 타입
import torch

# 직사각형 행렬 생성
tensor_rect = torch.eye(3, 4)
print(tensor_rect)
# 출력: tensor([[1., 0., 0., 0.],
#              [0., 1., 0., 0.],
#              [0., 0., 1., 0.]])

# 데이터 타입 지정
tensor_float = torch.eye(3, dtype=torch.float32)
print(tensor_float)
# 출력: tensor([[1., 0., 0.],
#              [0., 1., 0.],
#              [0., 0., 1.]], dtype=torch.float32)

# GPU에서 텐서 생성
tensor_gpu = torch.eye(3, device=torch.device('cuda'))
print(tensor_gpu)
# 출력: tensor([[1., 0., 0.],
#              [0., 1., 0.],
#              [0., 0., 1.]], device='cuda:0')

 

라이센스

  PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.

 

관련 내용

  

 

반응형