python/numpy
Broadcasting의 이해
jwjwvison
2021. 3. 29. 18:11
import numpy as np
- 브로드캐스팅
- Shape이 같은 두 ndarray에 대한 연산은 각 원소별로 진행
- 연산되는 두 ndarray가 다른 Shape을 갖는 경우 브로드캐스팅(Shape을 맞춤) 후 진행
- 브로드캐스팅 Rule
- 차원에서 부터 비교하여 Shape이 같거나, 차원 중 값이 1인 것이 존재하면 가능
- Shape이 같은 경우의 연산
- Sclar(상수)와의 연산
- Shape이 다른 경우 연산
- 뒷차원 부터 계산한다
- ex) (4,3) + (1,3) 이면 (1,3)의 3이 (4,3)의 3과 같으므로 broadcasting 가능하다 그러나 (4,3) 과 (1,4)는 뒤 행렬의 4와 앞 행렬의 3이 다름으로 broadcasting이 불가능 하다