Programming(179)
-
오프라인에서 pip 패키지 설치하기
대부분 온라인 상에서 pip로 해당 저장소 python package를 가져와서 설치를 하는데, 부득이하게 폐쇄망 환경에서 python package를 설치해야 하는 경우가 발생했다. 과연 될까?? 했는데.. 역시나.. 구글신은 뭐든지 된다. 기본 로직은 우선 1. 온라인 환경에서 pip를 통해 패키지를 다운받기 2. usb 등을 통해 폐쇄망 환경으로 다운받은 패키지를 복사하기3. pip를 통해 패키지를 install 하기. 위의 순서로 진행된다. 1. pip를 통해 패키지 다운받기 $> pip install --download . tensorflow pip3 패키지를 받고 싶은 경우에는 pip 대신에 pip3이라고 명시해 주면된다.위와 같이 실행하면 해당폴더(위의 예제에서는 현재 폴더)에 whl 파일들..
2017.01.05 -
우분투에서 Django와 gunicorn + supervisor + nginx 연동 하기
요즘은 Django + Nginx 가 대세인가 보다. 구글에서 검색해 보니 많은 사람들이 이런 식으로 사용하는 것을 확인해 볼 수 있었다. 이번 기회에 나도 Django와 Nginx를 연동해 보기로 했다. 예전에 Django와 apache 연동할 때는 아파치 모듈 중에 WSGI 모듈을 설치한 다음에 conf 파일을 수정해 주었는데, 요즘은 gunicorn이라는 python package를 많이 사용하는 것 같다. WSGI 서버로는 uWSGI와 gunicorn, Apache/mod-wsgi를 많이 사용하는데, uWSGI 같은 경우에는 고성능 서버 성능을 지니고 있으며, gunicorn 같은 경우에는 보통 수준의 성능이지만 설치와 관리가 간단하다는 장점이 있다. (mod-wsgi는 별로인 걸로...) Dja..
2017.01.04 -
python에서 동영상 처리하기
동영상 처리를 위해 ffmpeg이라는 괜찮은 툴이 있지만, python script와 연동시에 불편함 점이 있다. (예를 들어 ffmpeg은 외부 모듈이기 때문에 프로그램 종료되는 시점을 정확히 알아야 된다든지의....) 그래서 찾아본 결과 moviepy라는 것이 존재했다. http://zulko.github.io/moviepy/# 내가 하려고 하는 작업은 하나의 동영상이 입력으로 들어왔을 때 그것을 초단위로 이미지를 추출하여 해당 이미지의 객체를 인식하는 것이다.(객체 인식 부분은 나중 포스트에...) 우선 moviepy를 사용하기 위해 moviepy를 설치하자. (sudo) pip install moviepy 설치가 완료되었다면 아래와 같이 import를 해보자. from moviepy.editor ..
2016.12.13 -
python에서 Progressbar 표현하기
Python script를 실행하는데 이게 돌고 있는건지.. 아니면 멈춘건지 의구심이 들때가 간혹 있다. 언제 끝나는지 궁금하기도 하고... 그래서 python으로 progressbar를 표현할 수 있는게 없나 구글에서 찾아봄. http://stackoverflow.com/questions/3173320/text-progress-bar-in-the-console 위 그림과 같이 이쁘게 아주 잘 동작하는 것을 확인할 수 있다. 아래의 링크는 python에서 progressbar를 사용할 수 있는 패키지 https://pypi.python.org/pypi/tqdm
2016.11.19 -
[Python] pillow로 이미지 처리하기
Deep learning에서 CNN은 학습하거나 TEST 하려는 이미지의 크기가 모두 동일해야 한다. 그래서 기존 crawling한 이미지들의 크기 규격을 맞춰줘야 할 필요가 있다. 이게 단순히 crop을 하면 이미지 개체 인식에 side-effect가 발생할 여지가 있고, 또 무작정 해당 사이즈로 resizing을 하기엔 이미지 비율이 깨지는 문제가 발생했다. 이를 해결하기 위해서는 해당 비율에 맞게 해당 크기로 resizing하는 기술이 필요하다. 이를 위해 pillow라는 python package를 사용해 보기로 했다. 설치는 아래와 같이 간단하다. $> pip install pillow pillow의 설치가 완료되었으면 이제 import 해서 이미지 처리 작업을 해보자. 내가 하고자 하는 방법은..
2016.05.30 -
구글 GCM 구현하기
서버로부터 push 서비스를 받기 위해서는 구글에서 제공하는 GCM(Google cloud messaging) 서비스를 이용해야 한다. 우선 구글 api 개발자 센터에 접속해서 GCM 서비스를 이용하기 위한 프로젝트를 만들자. 우측 상단에 API Project라는 메뉴를 클릭한 후 프로젝트 생성 메뉴를 클릭해서 프로젝트를 생성하자. 프로젝트를 생성하면 프로젝트 ID가 함께 생성되는데 이 ID 값을 google 측에 넘겨야 GCM ID를 받을 수가 있다. 이제 프로젝트를 클릭해서 사용 하고자 하는 API를 선택해야 한다. Google Cloud Messaging을 클릭한 후 사용 설정을 활성화 해주자. 이제 서버에서 gcm 요청 curl을 날릴 때 인증을 위한 서버키를 만들어야 한다. 사용자 인증 정보에서..
2016.04.26