728x90
반응형
26만개의 데이터를 처리해야하다 보니 serial python으로는 9시간이 족히 걸리는 작업을 해야했다.
이에 multiprocess를 쓰려다가 검색을 하다 발견한 Ray 라는 라이브러리! uc버클리에서 만든 것으로 특정 조건에서 multiprocessing보다 9배, 싱글쓰레드보다 28배가 빠르다고 한다.!!!!
https://zzsza.github.io/mlops/2021/01/03/python-ray/
pip install ray
로 간단하게 설치하고 사용해보았다.
import ray
사용하고자 하는 함수 위에 @ray.remote라는 데코레이터를 써주고, 사용할 때는 함수 뒤에 .remote를 써주면 된다.
함수를 remote해서 얻은 object ID를 ray.get에 넣어주면 끝!!
만약 ray를 shutdown하지 않고 다시 ray.init()을 해준다면 아래와 같은 에러가 난다.
사용해보니 거의 2배정도 빠르게 작동한다. 더 데이터가 많거나 코어가 많은 상황에서 월등하게 빠른 듯 하다.
728x90
반응형
댓글