본문 바로가기
딥러닝\머신러닝

[pytorch] tensor 나누는 방법들 (split, chunks, 데이터 나누기)

by 인포메틱스 2021. 8. 3.
반응형

tensor는 데이터를 이야기합니다. 2차원을 2 Tensor 3차원을 3 Tensor라고 이야기 하죠.

 

딥러닝을 돌리다 보면 이러한 tensor를 나눠서 돌려야할 때가 있습니다. 

 

batch size를 조절하거나 혹은 test set, validation set, train set을 나눌때도 이러한 데이터를 나눠야 합니다.

 

그럴때 사용할수 있는 간단한 방법을 설명하고자 합니다.

 

split, chunks는 자세히 설명하지 않으면 조금 헷갈릴수가 있는 기능입니다.

 

split의 경우 데이터당 최대 자료가 n개를 가지게 하는 방법이고,

 

chunks의 경우 데이터를 n개로 나누는 거죠.

 

출처 : mopipe.tistory.com
출처 : mopipe.tistory.com

 

chunk와 split의 위의 설명으로는 헷갈릴수가 있으니 예시를 보여주도록 하겠습니다.

 

 

출처 : mopipe.tistory.com

 

같은 17줄을 split와 chunk로 나누게 되면 위와 같이 결과가 나오게 됩니다. 

 

chunk의 경우 n개의 그룹을 만드는 것이고, split의 경우 n개의 데이터가 있는 그룹을 만드는 것이죠.

 

으흠.. 좀더 쉽게 생각하면 chunk는 무조건 n개의 그룹을 만들어라이고, split의 경우 n개로 구성된 그룹을 만들어라. 라고 생각하시면 됩니다. (설명이 그게 그거일 수 있는데)

 

요즘 딥러닝 공부하면서 위처럼 중요할 것 같은 기능들 정리하고 있습니다. 시간되는데로 또 포스팅 하겠습니다.

 

 

아 split이나 chunk에서 dim의 경우 0=1차원, 1=2차원, 2=3차원입니다. (추가)

728x90
반응형

댓글