본문 바로가기

Study/데이터 분석 딥러닝 입문 + Pytorch 실습 부트캠프

[파이토치] 메타코드 강의 후기_챕터2: Tensor 다루기 part 1

[ Tensor 다루기 - part 1 ]

강사님이 제공해주신 실습 파일을 Google Colab에 업로드하고 수업을 들으면 된다.

 

먼저 torch를 설치해야하므로 

! pip install torch ( !는 운영환경에서 실행되는 코드라는 의미 ), 코랩은 생략해도 됨 

 

Tensor : Numpy의 배열과 유사한 자료형으로 다차원의 행렬.

사용하는 방법도 Numpy와 비슷하다.

  • scalar : 상수, 하나의 값을 표현한다.
  • vector : 여러개의 값을 가진 1차원의 데이터
  • matrix : 행렬, 행과 열로 이루어진 2차원의 데이터
  • tensor : n차원의 행렬 형태로 표현된다. scalar는 0차원 vector는 1차원, matrix는 2차원 텐서라고 할 수 있다.

 

 

차원은 축이 몇개냐로 판단한다.

 

가로 세로 사이즈가 100인 컬러 사진 이미지 1장은 RGB 값 [3, 100, 100] 의 3차원 텐서로 저장된다.

또한 이러한 사진이 5장 있다면, 이는 [5, 3, 100, 100] 의 4차원 텐서로 저장된다.

 

 

- torch.zero() 를 통해 만들기 되면 각 element가 0인 tensor를 만들어줄 수 있다
- argment로는 tensor의 dimension을 입력하면 된다. 

- 4차원 5차원까지도 사용하기 때문에 직접 해보면서 하기

 

- torch.rand()를 사용하면 0에서 1 사이의 uniform dist에서 난수를 생성해서 tensor로 만들 수 있다

- 차원을 추가해서 차원을 늘려갈 수 있다. 

- 앞에 있는 차원 그림으로 상상하면서 실습하기 

 

- torch.xxx_like()가 되면 기존의 텐서랑 모양이 똑같은 텐서를 만들어 준다. 

- 예시로 torch.ones_like(a) 넣어주면 같은 모양의 텐서를 만들어 주는 것

- torch.zeros_like(a)도 자주 쓰니 꼭 알아두기 

 


 

이번 시간은 텐서를 어떻게 다루는지 기초적인 부분을 공부해볼 수 있었다

직접 손으로 코드를 따라치면서 이미지를 생각해가면서 연습하길 추천한다.

 


메타코드 4기 서포터즈 활동의 일환으로 작성한 게시글입니다. 

메타코드M (mcode.co.kr)