반응형
다차원 배열
1차원 배열: x축만을 갖는 배열로, 벡터의 각 요소는 그 자체가 row입니다.
2차원 배열: x축과 y축을 갖는 배열로, depth가 1이라고 할 수 있습니다.
3차원 배열: x축, y축, z축을 모두 갖는 배열로, 각 컬럼은 벡터 형태를 가지며 이러한 벡터를 depth로 표현합니다.
4차원 이상의 배열: z축의 depth 요소가 스칼라가 아니라 벡터 이상의 자료형을 갖습니다.
Numpy의 Sum 함수 작동 방식
arr=np.arrange(0, 32)
len(arr)
->32
arr
->array([0, 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])
v=arr.reshape([4, 2, 4])
v.ndim: v의 차원
v.ndim
->3
1. axis=None
데이터의 모든 요소의 합을 반환합니다.(모든 요소들의 단순 합산)
v.sum()
->496
2. axis=0
x축을 기준으로 합을 구하는 방식으로, x축 row를 합산합니다.
결과적으로 shape은 row를 제거한 (2, 4)가 반환됩니다.
res01=v.sum(axis=0)
res01.shape
->(2, 4)
res01
->array([[48, 52, 56, 60],
[64, 68, 72, 76]])
3. axis=1
y축을 기준으로 합을 구하는 방식으로, y축 column을 합산합니다.
결과적으로 shape은 column을 제거한 (4, 4)가 반환됩니다.
res02=v.sum(axis=1)
res02.shape
->(4, 4)
res02
->array([[4, 6, 8, 10],
[20, 22, 24, 26],
[36, 38, 40, 42],
[52, 54, 56, 58]])
4. axis=2
z축을 기준으로 합을 구하는 방식으로, z축 depth를 합산합니다.
결과적으로 shape은 depth를 제거한 (4, 2)가 반환됩니다.
이 때 depth는 1개의 스칼라값으로 변환되며, 각 row의 컬럼들도 1개의 스칼라값으로 변환됩니다.
res03=v.sum(axis=2)
res03.shape
->(4, 2)
res03
->array([[6, 22],
[38, 54],
[70, 86],
[102, 118]])
5. 4차원 이상의 배열
3차원 배열과 같은 방식으로 개념을 적용하고 확장할 수 있습니다.
반응형
'인공지능' 카테고리의 다른 글
[모두를 위한 딥러닝1] 딥 네트워크 학습(5주차) (0) | 2021.01.27 |
---|---|
[Tensor Manipulation] Stack & Ones and Zeros like &Zip (0) | 2021.01.23 |
[모두를 위한 딥러닝1] 딥러닝의 기본 개념(4주차) (0) | 2021.01.23 |
[Tensor의 구조] Shape & Reshape (0) | 2021.01.20 |
[Training Neural Network] epoch, batch, and iteration (0) | 2021.01.20 |