Tensor
사전적의미로는 벡터의 확장 개념. 수학/물리학에서 중요한 역할을 하는 텐서는 백터의 개념을 포함한다.
딥러닝에서 주로 과원적인 데이터를 많이 사용하게되어 Tensor라는 개념이 많이 나오게되어 개념을 이해하는 것이 중요하다.
Numpy는 그런 고차원적인 데이터를 다루기 쉽게 만들어져있어 딥러닝을 하게 된다면 늘 접하게 될 것이다.
0차원
● numpy array는 1 또는 5, 10 과 같이 숫자 데이터를 array화 시켜줄 수 있다.
● Scalar로 들어갔을 때는 shape가 아무것도 없는 것으로 나온다.
*Scalar: 실수 전체 집합에 속하는 특정 값*
import numpy as np
arr = np.array(5) #numpy에서 배열을 생성하는방법
arr.shape #Scalar로 들어갔을 때는 shape이 나오지않는다.
arr.ndim #배열의 차원을 리턴해줌 여기서는 0을 리턴
1차원
● 숫자가 10과 같이 하나만 들어간다고 해도 [] 리스트를 한번 씌우게 되면 차원이 생긴다.
● 이때 1차원이 되는건데 numpy에서 shape을 표현할 때 (1)이 아닌 (1,)과 같은 방식으로 표현한다.
● (3,)에서 3은 값이 아닌 shape을 나타내는 것을 명심해야한다.
arr = np.array([3])
arr.shape #(1,)
arr = np.array([1,2,3])
arr.shape #(3,) 1차원배열에 3개의 값이 들어갔다는 의미이다.
2차원
● 대괄호를 추가적으로 씌우면 차원이 추가로 하나생긴다.
arr = np.array([[1,2,3]])
arr.shape #(1, 3)
arr = np.array([[1,2,3], [1,2,3], [1,2,3]])
arr.shape #(3, 3)
*참고: 0차원 숫자에 대괄호를 2번씌우면 2차원이 된다.
다차원
arr = np.array([[[1], [2], [3]], [[1], [2], [3]], [[1], [2], [3]]])
arr.shape #(3, 3, 1)
'Python > NumPy' 카테고리의 다른 글
NumPy - Math Function (0) | 2021.01.13 |
---|---|
NumPy - Broadcast (0) | 2021.01.13 |
NumPy - Indexing, Slicing (0) | 2021.01.13 |
NumPy - shape 및 차원 변경 (0) | 2021.01.13 |
NumPy - 배열 생성 및 데이터타입 (0) | 2021.01.13 |