티스토리 뷰
반응형
0.들어가면서
딥러닝을 하다 보면 다양한 데이터 유형을 다루게 된다. 이 때 선형대수 연산에 numpy의 sum 함수를 사용하면 매우 편리하다.
데이터 유형
- 스칼라 - 보통 x와 같은 알파벳 소문자로 표기한다.
- 벡터 - 여러 숫자가 모여 있어 일반적으로 일차원 배열이 벡터이다.
- 행렬(matrix) - 복수 차원을 가지는 데이터가 여러 개 있는 경우의 데이터를 합쳐서 표기한 것이다. 일반적으로 2차원 배열이고 3차원 이상의 배열은 텐서(tensor)라고 한다.
실습
>>> arr = np.arange(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
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.ndim ## v의 차원
3
>>> v.sum() ## 모든 element의 합
496
>>> res01=v.sum(axis=0) ## axis=0 기준 합계
>>> res01.shape
(2, 4)
>>> res01
array([[48, 52, 56, 60],
[64, 68, 72, 76]])
>>> res02=v.sum(axis=1) ## axis=1 기준 합계
>>> res02.shape
(4, 4)
>>> res02
array([[ 4, 6, 8, 10],
[20, 22, 24, 26],
[36, 38, 40, 42],
[52, 54, 56, 58]])
>>> res03=v.sum(axis=2) ## axis=2 기준 합계
>>> res03.shape
(4, 2)
>>> res03
array([[ 6, 22],
[ 38, 54],
[ 70, 86],
[102, 118]])
>>>
numpy하고 reshape 한것을 v에 넣었다.
- v.ndim - 차원을 알 수 있다.
- v.sum() - element의 합을 알 수있다.
- v.sum(axis=0) - x축을 기준으로 합을 구하는 방식이다. x축 row를 합산한 것이다. 따라서 shape를 하면 (2, 4)가 나온다.
- axis=1은 y축을 기준으로 row 별로 존재하는 column들의 값을 합쳐 1개로 축소하는 과정입니다.
- axis=2는 z축을 기준으로 column의 depth가 가진 값을 축소하는 과정입니다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자연어처리
- Express
- nextjs autoFocus
- Python
- BFS
- read_csv
- TensorFlow
- useHistory 안됨
- logout
- 클라우데라
- Deque
- JavaScript
- django
- DFS
- typescript
- Vue
- mongoDB
- NextJS
- login
- useState
- pandas
- error:0308010C:digital envelope routines::unsupported
- react
- UserCreationForm
- nodejs
- vuejs
- 자료구조
- next.config.js
- react autoFocus
- Queue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함