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 |