[TIL] numpy 라이브러리 왜 사용해야 하는걸까?

오현우·2021년 12월 20일
0

행렬 연산... 정말 빠르게 할 수는 없을까?

행렬 연산은 차원이 커지면 커질수록 사람이 실수할 확률도 높고, 어렵고, 복잡하고, 오래걸리고, 반복적이다. 이러한 연산을 컴퓨터가 하면 대부분의 리스크가 사라지지만 한가지가 남는다.
바로 오래 걸린다는 것이다.

왜 우리는 넘파이를 써야할까?

구체적으로 예시를 들어보자.
10000개의 숫자가 들어 있는 리스트가 있다고 존재한다고 생각해보자.
이것을 elementwise하게 제곱한다고 해보자.
이러한 연산을 파이썬으로 짠 것과 넘파이로 짠 것을 비교해 보았다.

콘솔창에 있는 0.0114 가 파이썬 내장함수로 짠 것이고, 아래 0.0015가 넘파이로 행렬연산을 진행한 것이다.
약 10배정도의 차이가 난다고 볼 수 있다.

만약 10000개가 아닌 1억개였다면 둘의 차이는 더욱 벌어졌을 것이다.

따라서 우리는 고차원의 행렬 연산을 위해서 넘파이를 반드시 써야한다.

그런데 왜 넘파이와 파이썬 내장 함수의 차이는 이토록 큰 걸까?

그것은 넘파이는 벡터 연산을 진행하고 파이썬은 스칼라 하나하나 연산을 진행하기 때문이다.

넘파이로 푸는 실질적인 문제!

는 다음챕터에서 구체적으로 다루도록 하겠음!

profile
핵심은 같게, 생각은 다르게

0개의 댓글