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이 불가능 하다