프로그래밍을 하다보면 Heap과 Stack 자료구조를 볼 수 있는데, 이 둘의 차이점을 알아보고자 정리한다. 1. Stack스텍은 너무나 자주사용하여 익숙한 자료구조일 것이다. FILO(First In Last Out) 형식을 따르며 주로 재귀함수에서 사용한 다는 점도 너무나 잘 알려진 사실이다. 추가적으로 메모리 부분을 살펴봐야 한다.Stack의 경우 정적 메모리에 할당되며, 컴파일 시 해당 크기가 결정되어 고정된 사이즈다. 이러다보니, OverFlow , UnderFlow가 발생할 수 있다. ( 정적 메모리 같은 경우는 로컬 변수가 저장되는 곳이다. 추가로, 함수를 호출하면, Stack구조에 쌓이게 되고, 해당 함수가 끝나면 Stack에서 pop되어 메모리가 자동으로 해제된다.) 스택의 구조는 상당..
tensor뿐만 아니라 pandas에서 concat을 할때 어떤식으로 진행할지를 결정하게 될때 사용하는게 dim 이라는 파라미터이다. 예제로 봐보자. x,y,z를 stack하는 코드이다. stack을 진행할때, 어떤 차원을 기준으로 stack을 할지 명시해줘야한다. defalut는 0으로 dim = 0이라는 것과 같은 의미이다. dim = 0일때 결과를 살펴보면, 행으로 stack한 것을 볼 수 있다. 반대로, dim= 1 일때를 살펴보면, '열'로 stack을 진행한 것을 볼 수 있다. 추가적으로 설명해보자면, torch.Size([A,B,C,D,E])와 같은 5차원의 tensor가 존재할 경우, A부터 0, B는 1 , C는 2, D는 3, E는 4를 뜻한다. 이걸 알고 원하는 기준으로 stack을 ..
pytorch tensor를 이용하다보면, a,b,c tensor를 하나로 합치는 경우가 필요하다. 그때 사용하는 것은 concat, stack 함수를 이용해서 사용하면 될텐데... 조금의 차이가 존재한다. 예시를 통해 정리해보고자 한다. 1. concat - pandas를 자주 사용하는 개발자들은 pd.concat을 종종 사용할 것이다. 이때 concat이 torch에도 같다고 생각하면 된다. 한마디로 정리하자면, concat은 기존 shape을 유지한다. 예제를 보자. x = [[1,2], [3,4]] / y = [[4,5],[6,7]] 를 선언하였다. shape은 (2,2) 이다. shape을 잘 기억하길 바란다. 단순 concat을 진행하게 되면, defalut = dim 0 이므로 세번째 처럼 ..
- Total
- Today
- Yesterday
- 백준
- 정리
- 오류
- docker
- 이미지
- 어탠션
- 디텍션
- 티스토리챌린지
- YOLO
- github
- 자바
- 욜로
- GIT
- 초보자
- 오블완
- 깃
- 도커
- YOLOv8
- GNN
- 딥러닝
- Tree
- CNN
- DeepLearning
- c3k2
- yolov11
- 알고리즘
- V11
- java
- 뜯어보기
- python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |