본문 바로가기

Basic for AI/파이썬

torch.fill_() vs torch.full()

torch.fill_() vs torch.full()

 

torch.fill_()과 torch.full()는 둘 다 텐서를 특정 값으로 채우는 역할을 함

 

torch.fill_()

  • in-place 연산을 수행하는 함수
  • 기존 텐서의 모든 값을 특정 값으로 덮어씌움
import torch

tensor = torch.randn(2, 2)  # 무작위 값으로 2x2 텐서를 생성
print(tensor)
tensor.fill_(3)  # 기존 텐서의 값을 모두 3으로 덮어씌움
print(tensor)

 

torch.full()

  • 새 텐서를 생성하고, 지정한 값으로 모든 요소를 채우는 함수
  • 기존 텐서가 아니라 새로 생성한 텐서를 사용함
import torch

tensor = torch.full((2, 2), 3)  # 2x2 크기의 텐서를 생성하고 모두 3으로 채움
print(tensor)

 

참고로 검색해보니까 torch.fill() 이랑 torch.full_()는 없다

 

cf. in-place 연산

  • Pytorch에서 함수명 뒤에 _가 붙는 함수들은 in-place 연산을 수행하는 함수라는 뜻
  • in-place 연산이란, 기존 텐서 값을 덮어씌우면서 직접 수정하는 연산을 의미함

'Basic for AI > 파이썬' 카테고리의 다른 글

SytaxError와 Exception의 차이  (0) 2024.02.29
파이썬 파일처리(open, close)와 generator  (0) 2024.01.15