[메타코드 강의 후기] 딥러닝 Deep Learning | Tensor (1)

메타코드?
메타코드는 IT 대기업 현직자 + 서울대/카이스트 AI 박사 등 검증된 강사진들로 구성되어 있으며,
현직자 특강, 커리어 멘토링, 포트폴리오, 공모전, 채용정보 등 실제 취업에 도움이 될 수 있는 양질의 컨텐츠를 제공하고 있습니다.
Tensor란?

데이터를 수학적으로 다룰 때, 스칼라(scalar), 벡터(vector), 행렬(matrix), 텐서(tensor)는 각각 다른 차원과 구조를 가지는 데이터 유형이다.
scalar는 0차원, vector는 1차원, matrix는 2차원 텐서라고 할 수 있다.
스칼라 (Scalar)
- Rank: 0
- Shape: ()
- 설명: 스칼라는 단순한 숫자이며 방향이 없다. 예를 들어, 온도나 질량과 같은 측정치는 스칼라 값으로 표현될 수 있다.
벡터 (Vector)
- Rank: 1
- Shape: (n,)
- 설명: 벡터는 숫자의 배열로, 일반적으로 공간 내의 방향과 크기를 나타내는데 사용된다. 벡터의 shape는 그 안에 포함된 요소의 수(n)에 의해 결정된다.
행렬 (Matrix)
- Rank: 2
- Shape: (m, n)
- 설명: 행렬은 숫자가 두 차원 배열로 구성된 구조이다. 각 차원은 행(m)과 열(n)로 구성되어 있다.
텐서 (Tensor)
- Rank: N (N ≥ 0)
- Shape: (i1, i2, ..., iN)
- 설명: 텐서는 스칼라, 벡터, 행렬을 일반화한 개념으로, N차원 배열로 구성된다. 텐서의 rank는 배열의 차원 수를 나타내며, 각 차원의 크기는 shape에 의해 정의된다. 예를 들어, RGB색상값을 가지며 가로/세로 사이즈가 100인 이미지 데이터는 **3차원 텐서[3, 100, 100]**로 저장된다. 또한 이러한 사진이 5장 있는 경우, 이는 **4차원 텐서[5, 3, 100, 100]**로 저장된다.
torch.tensor()
torch.tensor()함수는 직접 텐서를 생성하는데 사용된다. 입력값은 리스트, 튜플, NumPy 배열 등이 될 수 있다.
torch.tensor(5) # scalar를 텐서로 정의
result:
torch.tensor([1,2,3,4,5]) # vector를 텐서로 정의
result:
torch.tensor([[1,2,3], [4,5,6], [7,8,9]]) # matrix를 텐서로 정의
result:
torch.ones()
torch.ones()는 demension을 입력받아 지정된 크기의 텐서를 생성하고, 모든 element를 1로 초기화한다.
torch.ones(3) # 1D Tensor
result:
torch.ones([100, 100]) # 2D Tensor
result:
torch.ones([5, 3, 5]) # 3D Tensor
result:
torch.zeros()
torch.zeros()는 demension을 입력받아 지정된 크기의 텐서를 생성하고, 모든 element를 0으로 초기화한다.
torch.zeros(3) # 1D Tensor
result:
torch.zeros([4, 4]) # 2D Tensor
result:
torch.zeros([3, 2, 4])# 3D Tensor
result:
torch.arange(): > 시작점부터 끝점까지 일정 간격으로 증가하는 element들을 가진 텐서를 생성합니다.
torch.arange(1, 10) # 1부터 10까지 1씩 증가하는 Tensor
result:
torch.arange(10, 22, 3) # 10부터 22까지 3씩 증가하는 Tensor
result:
torch.rand()
지정된 크기의 텐서를 생성하고, 요소를 0과 1사이의 균등 분포에서 무작위 값으로 초기화합니다.
torch.rand(5)
result:
torch.rand([2, 3, 5, 2])
result:
torch.xxx_like()
기존의 텐서와 같은 모양의 텐서를 만들어준다.
torch.ones_like()
기존의 텐서와 같은 모양의 원소가 1인 텐서 생성
a = torch.rand([3, 5, 5])
torch.ones_like(a)
result:
torch.zeros_like()
기존의 텐서와 같은 모양의 원소가 1인 텐서 생성
a = torch.rand([3, 5, 5])
torch.zeros_like(a)
result:
이런 분들께 추천합니다!
서포터즈 강의료 지원을 받아 작성하였습니다