본문 바로가기
ASAC 5기/Deep Learning

01. scalar, vector, tensor의 차원 및 형태 이해 : shape, ndim 실습

by 망고 ෆ 2024. 6. 6.

0차원 : Scalar

1) numpy로 scalar 값 생성

   scalar 란 크기만 있는 단일 값 형태를 말합니다.

arr_0 = np.array(10)

 

2) shape

   shape배열의 차원과 크기를 알려주는 함수입니다.

arr_0.shape

   0차원의 경우, 차원이 없으므로 아래와 같이 빈 튜플 형태로 출력됩니다.

()

 

3) ndim

   ndim행렬의 차원을 반환해주는 함수입니다.

arr_0.ndim

 

   따라서, arr의 ndim을 확인해보면 0 이라고 출력되는 것을 확인할 수 있습니다.

0

 

 

 

1차원 : Vector

1) vector 생성

   vector란 크기와 방향을 가지는 배열을 말하며, 여러개의 scalar 값을 일렬로 묶어둔 것이라고 생각할 수 있습니다.

arr_1 = np.array([1,2,3])

 

2) shape

   1차원의 경우, 일반적으로 행 또는 열로 구성되지만 numpy의 경우 행으로 간주되어 출력됩니다.

arr_1.shape

   따라서, shape을 확인해보면 행이 3개 존재한다고 출력되는 것을 확인할 수 있습니다.

(3,)

 

3) ndim

   1차원이므로 ndim 확인 결과, 1이 출력됩니다.

arr_1.ndim
1

 

 

 

2차원 : Matrix

1) Matrix 생성

  Matrix란 행과 열로 구성된 배열입니다.

arr_2 = np.array([
    [1,2,3],
     [4,5,6]
])

 

2) shape

   2차원의 경우 (행, 열) 형태로 출력됩니다.

arr_2.shape

   arr_2의 경우, 행 2개, 열 3개 이므로 아래와 같이 출력되는 것을 볼 수 있습니다.

(2,3)

 

3) ndim

   차원을 확인해보면 행, 열로만 구성된 2차원이므로 2 라고 출력됩니다.

arr_2.ndim
2

 

 

 

3차원 : Tensor

 

1) tensor 생성

   Tensor란 행, 열에 채널/깊이가 추가된 배열입니다.

arr_3 = np.array([
    [
        [1,2,3],
        [4,5,6]
    ]
])

 

2) shape

   3차원의 경우 (채널/깊이, 행, 열)의 형태로 출력됩니다.

arr_3.shape

   arr_3은 깊이 1, 행 2, 열 3으로 구성되어 있으므로 아래와 같이 출력됩니다.

(1, 2, 3)

 

 

3) ndim

   ndim을 통해 3차원인 것을 확인할 수 있습니다.

arr_3.ndim
3

댓글