Python 4

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..

파이썬과 OpenCV를 이용한 성별 및 연령 판별하기

파이썬과 OpenCV를 이용한 성별 및 연령 판별하기 · Version : Python 3.X, OpenCV 파이썬과 OpenCV 라이브러리를 활용하여 성별 및 연령을 판별해 보도록 한다. 이번 포스트에서는 프로그램 코드에 대한 설명이나 알고리즘에 대한 설명은 다루지 않는다. 참고 사이트에서 다운로드 받은 소스를 단순히 실행하고 결과를 얻음으로써, 이미지 분석에 대한 흥미를 유발하는데 목적이 있다. CV (Computer Vision)은 컴퓨터가 인간처럼 디지털 이미지와 비디오를 보고 식별할 수 있게 하는 연구분야 이다. Computer Vision은 디지털 이미지를 수집, 처리, 분석 및 이해하여 실제 세계에서 고차원적 데이터를 추출하여 결정에 사용할 수 있는 기호 또는 숫자 정보를 생성한다. 이 과정..

Build an image and run it as one container

Build an image and run it as one container · Version : Docker 이 문서는 Docker 공식 문서를 번역한 내용이며 필자의 생각과 의견이 반영되어 있습니다. 자세한 내용은 원문을 참고 바랍니다. Introduction Docker 방식으로 앱을 제작할 차례이다. 이 응용 프로그램은 계층 구조 맨 아래부터 시작한다. 이번 포스트에서 다루는 응용 프로그램 내용은 컨테이너이다. 이 레벨 위에는 컨테이너가 프로덕션 환경에서 작동하는 방식을 정의하는 서비스가 있다. 마지막 최상위 단계는 스택이며 다루는 모든 서비스의 상호 작용을 정의한다. Stack Service Container (이번 포스트는 여기) Your new development environment 과거..