๋ฒกํฐํ
Vectorization
๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํ๋ ฌ(๋ฒกํฐ) ํ ํ์ฌ ๋ช ์์ for/while loop ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ณ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ๋๋ก ํ๋ ๊ธฐ์
๋ก์ง์คํฑ ํ๊ท์ ๊ณผ์ ์ค ์๋๋ฅผ ๊ณ์ฐํ ๋,
์ ๋ ๊ฐ๊ฐ ์ฐจ์ ํ ๋ฒกํฐ์ด๊ธฐ ๋๋ฌธ์ python ์์ ์ด๋ฅผ ๊ตฌํํ๋ฉด ์๋์ ๊ฐ์ด ํ ์ ์์
# w, x, m, b are defined
z = 0
for i in range(m):
z += w[i] * x[i]
z += b
ํ์ง๋ง ์ python ์ฝ๋๋ ๋งค์ฐ ๋๋ฆผ
numpy ์์๋ ๋ด๋ถ์ ์ผ๋ก SIMD ๋ฅผ ์ฌ์ฉํ ์ต์ ํ๊ฐ ๋์ด์๋ vector ์ฐ์ฐ์ ์ ๊ณตํจ
import numpy as np
# w, x, b are defined
z = np.dot(w, x) + b