728x90
detach()와 clone()은 기존 Tensor를 복사하는 방법 중 하나이다.
tensor.clone()은 기존 텐서의 내용을 복사한 텐서를 생성하겠다는 의미이며, detach()는 기존 텐서에서 기울기가 전파되지 않는 텐서이다.
즉, tensor.clone().detach()는 기존 텐서를 복사한 새로운 텐서를 생성하지만 기울기에 영향을 주지는 않겠다는 의미이다.
구분 | 메모리 | 계산 그래프 상주 유무 |
tensor.clone() | 새롭게 할당 | 계산 그래프에 계속 상주 |
tensor.detach() | 공유해서 사용 | 계산 그래프에 상주하지 않음 |
tensor.clone().detach() | 새롭게 할당 | 계산 그래프에 상주하지 않음 |
728x90
'딥러닝 > Pytorch' 카테고리의 다른 글
Pytorch 기본 예제 (0) | 2022.12.24 |
---|---|
[Pytorch] register_buffer (0) | 2022.08.01 |
pytorch - nn.function과 nn의 차이점 (0) | 2022.06.19 |
torch - GPU 사용하기 (0) | 2022.06.13 |
Pytorch nn.ModuleList (0) | 2022.05.30 |