파이선 3

Python Multiprocessing(Process)을 사용한 데이터 처리 속도 개선

Python Multiprocessing(Process)을 사용한 데이터 처리 속도 개선 · Version : MAC OS, Python 3.X, PIP3 대용량 데이터를 효율적으로 처리하기 위해서는 병렬 처리를 활용하는것이 좋다. 파이썬에서 병렬처리를 제공하는 대표적인 라이브러리는 Threading과 Multiprocessing 모듈이다. Threading 모들은 파이썬의 GIL(Global Interpreter Lock)라는불리우는 잠금 모델을 사용하기 때문에I/O 작업이 아닌 CPU 작업이 많을 경우 오히려 성능이 저하된다. 이 방식은 Lock을 풀고 스레드를 교환하고 다시 Lock을 거는 형태의 멀티스레드이기 떄문이다. 파이썬에서는 Multiprocessing 를 권장하고 있으며, 이 모듈에는 대..

Python Multiprocessing(Pool)을 사용한 데이터 처리 속도 개선

Python Multiprocessing(Pool)을 사용한 데이터 처리 속도 개선 · Version : MAC OS, Python 3.X, PIP3 대용량 데이터를 효율적으로 처리하기 위해서는 병렬 처리를 활용하는것이 좋다. 대부분의 머신러닝/딥러닝에 사용되는 프레임워크들은 함수 내부에서 병렬처리가 가능하도록 설계되어 있기 때문에 시스템의 자원을 효율적으로 사용하지만, 일반적으로 많이 사용되는 데이터 가공 모듈인 pandas와 같은 모듈은 병렬처리를 기본적으로 제공하지 않기 떄분에 별도의 병렬처리가 가능하도록 코딩을 해야한다. 파이썬에서 병렬처리를 제공하는 대표적인 라이브러리는 Threading과 Multiprocessing 모듈이다. Threading 모들은 파이썬의 GIL(Global Interpr..

Python에서 Tesseract 사용하기

Python에서 Tesseract 사용하기 · Version : MAC OS, Python 3.X, PIP3 이전 포스트에서 Tesseract 오픈소스 소프트웨어를 사용하여 이미지에 포함된 문자열을 추출하는 방법에 대해서 알아 보았다. · Tesseract를 활용한 이미지 속 문자인식 : https://sungwookkang.com/1475 다른 포스트에도 언급한바 있지만, 이미지의 경우 배경 색상이나, 글꼴, 언어 타입에 따라 인식률에 차이가 크므로, 전처리 과정이 수반되어야 어느정도 정확도를 높일 수 있다. OpenCV등 오픈소스로 공개된 다양한 이미지 처리 모듈을 사용하기 위해서는 파이썬을 활용할 수 있는데, 그 시작으로 파이썬에서 Tesseract를 임포트하여 사용하는 방법을 설명한다. 이번 포스..