티스토리 뷰
파이토치를 사용하면서 깃허브의 여러 코드들을 참고하는데요.
자주 헷갈리는 것이 "F.cross_entropy"와 "nn.CrossEntropyLoss()"을 언제 쓰는가 였습니다.
어느 코드에서는 전자를 사용하고 어느코드에서는 후자를 사용하고... 그래서 한번 정리해 보려고 합니다.
구글에 검색해보니 pytorch 커뮤니티의 이 글에 예전에 답이 달린 질문이 있었습니다.
결론은 "큰차이가 없다" 였습니다.
두개의 차이는 state가 있냐 없냐의 차이라고 합니다.
따라서, 학습을 위해서 계산을 할때는 두개 중 어느 것을 사용하여도 큰 차이가 없습니다.
단, nn.CrossEntropyLoss와 F.cross entropy는 클래스냐 함수냐의 차이는 있으므로 사용하는 방법은 조금 다르므로
레퍼런스 문서를 한번쯤은 읽어보시는게 좋을듯 합니다.
https://pytorch.org/docs/stable/nn.html
https://pytorch.org/docs/stable/nn.functional.html
'기계학습' 카테고리의 다른 글
[Gensim] unable to import 'smart_open.gcs', disabling that module 오류 해결 (0) | 2020.04.19 |
---|---|
[Pytorch]“AttributeError: LSTM object has no attribute flat_weights_names” (0) | 2020.03.31 |
[Python] 데이터 셋 간단하게 나누기 (0) | 2020.02.21 |
경량 딥러닝 간단한 흐름 정리 (0) | 2019.09.06 |
[세팅] window10 tensorflow gpu 설치하기 (1) | 2019.08.23 |
댓글