프로그래밍 Programming
핀터레스트 위젯 빌더 Pintereest Widget builder
2019. 2. 16.웹사이트에 핀터레스트 버튼 또는 위젯을 넣어보자.핀 버튼은 앞서 살펴봤고, 여기서는 팔로우, 보드, 프로필 관련 버튼을 넣는 방법을 살펴보자.2019/02/16 - [핀터레스트 Pinterest] - 웹사이트, 블로그에 핀터레스트 핀 넣기 먼저 팔로우 버튼이다. 핀터레스트 URL만 넣으면 아래와 같이 간단히 코드가 생성된다. 생성된 코드를 필요한 위치에 넣는다. 앞서도 말했듯이 print.js 코드는 태그 앞에 반드시 들어가 있어야 한다. 버튼을 놓고 싶은 위치에 코드를 넣으면 다음과 같이 팔로우 버튼이 생성된 것을 확인할 수 있다. 다음 보드나 프로필 역시 URL 만 입력하고 코드가 생성되고 위와 마찬가지로 해당 코드를 적절한 위치에 넣으면 끝난다.프로필의 경우 보드의 너비, 핀의 크기 등은 코드에 포..
웹사이트, 블로그에 핀터레스트 핀 넣기
2019. 2. 16.웹사이트에 핀터레스트 핀 넣기 여러분의 사이트에 Pin 을 노출켜주는 핀 위젯을 만들어보자.먼저, print.js 스크립트가 페이지에 포함되어 있는지부터 확인해야 한다. 페이지당 한 번만 넣으면 된다. 간단하게는 아래와 같이 직접 불러올 수 있다. 태그 상단에 아래 내용을 넣는다. 핀이 생겼음을 알 수 있다. https://developers.pinterest.com/docs/widgets/getting-started/?https://developers.pinterest.com/docs/widgets/pin-widget/?
딥러닝 학습상황을 제어하는 텔레그램 봇 만들기 Telegram bot to monitor and control deep learning experiments
2019. 2. 16.Telegram bot to monitor and control deep learning experiments Dependencies 다음의 패키지가 설치되어 있어야 함python-telegram-botKeras (선택사항, 케라스 콜백 사용시)matplotlib (선택사항, convergence plots 전송시) 다음의 환경에서 테스트함Python 3.6.6Tensorflow 1.12.0Keras 2.2.4Ubuntu 18.04 (tfKeras) founder@hilbert:~/tfKeras/telegrad$ python3 -V Python 3.6.6 (tfKeras) founder@hilbert:~/tfKeras/telegrad$ python -c 'import keras; print(keras._..
텔레그램 봇 만들기 Your first Telegram Bot
2019. 2. 15.파이썬으로 간단한 텔레그램 봇을 만들어보자.먼저 텔레그램 앱을 실행시켜 대화방에서 BotFather 검색한다.대화창에 /newbot 을 통해 봇을 생성하고, 봇의 이름을 정한다.봇의 계정명을 정한다. 계정명은 bot 으로 끝나야 한다. 성공적으로 계정 생성이 되었다. 이제 봇에게 본인의 아이디를 알려줘 나에게 메시지를 보낼 수 있게 한다.방금 만들었던 봇을 검색한다. 파이썬 텔레그램 패키지를 설치한다.(tfKeras) founder@hilbert:~$ pip install python-telegram-bot --upgrade Collecting python-telegram-bot Downloading https://files.pythonhosted.org/packages/84/6c/47932a4041ee..
우분투 18.04에 워드프레스 설치하기 How To Install WordPress with LEMP on Ubuntu 18.04
2019. 2. 14.여기서는 우분투 18.04 서버 + LEMP stack (Linux, Nginx, MySQL, and PHP) 기반으로 워드프레스를 설치하는 방법을 알아본다. Prerequisites본격적인 진행에 앞서 다음의 준비를 마쳐야 한다. - sudo 사용자 생성 - LEMP 스택 설치 : 이미 앞선 게시물에서 별도로 다룬바 있다 2018/10/27 - [리눅스 Linux] - 우분투 18.04 에 LEMP 스택 설치하기 How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 18.04- SSL 을 통한 사이트 보안도메인이 있는 경우 https://www.digitalocean.com/community/tutorials/how-to-secure-nginx..
구글 FACETS를 활용한 머신러닝 데이터셋 시각화 Visualising Machine Learning Datasets with Google’s FACETS
2019. 2. 9.https://cdn-images-1.medium.com/max/800/1*3tUB6KRfE-FapwbH4Lz0Vg.png Facets은 PAIR(People + AI Research) 라는 계획의 일환으로 구글에서 내놓은 오픈소스 시각화툴이다. 머신러닝 데이터셋에 대한 이해와 분석을 돕는 도구로, 2개의 시각화 도구로 구성된다. Facets Overview 이름에서 짐작할 수 있듯이 이 시각화 도구는 전체 데이터셋의 개요와 데이터 각각의 특징 면면에 대한 감을 제공한다. 개요에서는 각각의 특징에 대한 통계를 제공하고 훈련 및 검증 데이터셋을 비교한다. Facets Dive 더 많은 정보를 얻기 위해 개별 특징에 대해 상세히 살펴볼 수 있고, 대규모의 데이터도 대화형 콘솔을 통해 한 번에 살펴볼 수 있다..
트럼프 대통령 연설문 자동 요약하기 Automatically Summarize Trump’s State of the Union Address
2019. 2. 9.트럼프 대통령 연설문 자동 요약하기Text Rank, Latent Semantic Analysis, Gensim, Sumy, NLTK자동 텍스트 요약은 짧고 간결하지만 논리정연하게 긴 문서를 만드는 과정이다. NLP 분야에서 가장 흥미로운 주제 중 하나다. 본 포스팅에서는 트럼프 대통령의 지난 2월 6일자 연설문을 가지고 진행한다. 약 82분간 진행된 전체 내용을 듣거나 읽기 부담스러운 경우 앞으로 진행할 자동 요약은 매우 유용한 아이템이 될 것이다. 원문의 내용을 최대한 잘 뽑아내길 바라며 시작해보자. TextRank with NLTKTextRank 는 비지도 텍스트 요약 테크닉으로 페이지랭크 알고리즘을 문장 랭킹에 적용한 것이다. 프로젝트에 NLTK 를 사용할 때는 일반적으로 다음과 같은 순서를 따르..
우분투 아나콘다서버에 플라스크 앱 배포하기 Deploy Flask apps using Anaconda on Ubuntu Server
2019. 1. 21.Ubuntu 18.04에 Flask 마이크로웹프레임워크를 이용하여 파이썬 어플리케이션을 배포하는 방법에 대해 알아본다. Install Flask먼저 플라스크를 설치한다. 12345678910111213141516171819202122232425262728293031323334353637383940(tfKeras) founder@hilbert:~$ conda install -c anaconda flaskSolving environment: done ## Package Plan ## environment location: /home/founder/anaconda3/envs/tfKeras added / updated specs: - flask The following packages will be downlo..
Conda 가상 환경으로 PyTorch 설치하기
2019. 1. 19.https://pytorch.org/get-started/locally/ 자신의 환경에 맞게 선택하면 명령어를 제공해준다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485(base) founder@hilbert:~$ conda install pytorch-cpu torchvision-cpu -c pytorchSolving environment: done ## Package Plan ## environment location: /home/founder/anaconda3..
사전훈련된 VGG 모델을 이용하여 사진 속 이미지 분류하기 How to Use The Pre-Trained VGG Model to Classify Objects in Photographs
2019. 1. 18.이제 합성곱 신경망은 이미지 분류 - 물체에 대한 사진이 주어지면, 해당 물체가 1,000개의 카테고리 중 어디에 속하는지를 보여주는 것 - 등의 컴퓨터 비전 작업에서는 인간못지 않은 성능을 보여주고 있다. 여기서는 VGG 합성곱신경망을 이용하여 위와 같은 이미지 분류를 해보도록 하자. 아래와 같이 4개의 파트로 나눠서 다루도록 한다. Load the VGG Model in KerasVGG 모델은 케라스 딥러닝 라이브러리에서 직접 로드가능하다. 케라스는 미리 훈련된 모델을 로딩하여 사용가능하도록 Applications interface 를 제공하고 있다.해당 인터페이스를 활용하면 Oxford 그룹이 제공하는 사전에 훈련된 가중치를 사용하여 VGG 모델을 생성할 수 있다. 이를 출발점으로 삼거나 아니면 바..
케라스 CNN을 활용한 비행기 이미지 분류하기 Airplane Image Classification using a Keras CNN
2018. 12. 31.Airplane Image Classification using a Keras CNN Data Acquisition여기서 사용될 데이터셋은 Kaggle 에서 가져온다. 해당 데이터셋은 rhammel 라는 사용자가 업로드한 것으로, 32,000개의 라벨링된 비행기의 위성 사진이다. 먼저 여기로 이동하여 “planesnet.zip” 을 다운로드 받는다. 다운로드받은 파일의 압축을 풀어보면, “0__20140723_181317_0905__-122.14328662_37.697282118.png” 와 같은 이름으로 구성된 32,000개의 이미지 파일을 확인할 수 있을 것이다. Data Preprocessing앞선 데이터를 ML 알고리즘에 활용가능하게 다듬는 작업을 데이터 프로세싱이라고 한다. 다운로드받은 이미지를..
CNN, 케라스, 텐서플로우 벡엔드를 이용한 이미지 인식 분류기 만들기 Create your first Image Recognition Classifier using CNN, Keras and Tensorflow backend
2018. 12. 28.Create your first Image Recognition Classifier using CNN, Keras and Tensorflow backend Getting Started — Dog or Cat본 튜토리얼에서 일단 주어진 이미지가 개인지 고양이인지 구분하는 이미지 분류기를 만들고자 한다. 그리고 추후 더 큰 규모로 확장해보자. Tools And Technologies본 튜토리얼 진행을 위해서는 다음의 도구들이 필요하다. 아래는 Ubuntu 18.04 환경에서 구현되었다.Anaconda 아나콘다는 데이터터 사이언스와 머신러닝 관련 어플리케이션 제작 관련 패키지 관리 및 배포를 도와주는 오픈 소스 프로그램이다. 설치는 다음을 참조한다.https://www.anaconda.com/download/..
파이썬 3.6 아나콘다 PIL 설치하기 ModuleNotFoundError: No module named 'PIL' 과 UnsatisfiableError
2018. 12. 24.우분투 환경의 파이썬 3.6 버전의 경우 PIL 패키지 설치시 아래와 같이 UnsatisfiableError 를 반환한다.1234567891011121314151617ModuleNotFoundError Traceback (most recent call last) in 1 from IPython.display import display----> 2 from PIL import image 3 4 classifier.fit_generator( 5 training_set, ModuleNotFoundError: No module named 'PIL' (tfKeras) founder@hilbert:~$ conda install -c anaconda pilSolving environment: failed Unsati..
Deep Learning Tutorial for Beginners - 2. Logistic Regression
2018. 12. 20.Logistic Regression이진 분류에 대해 이야기 할 때, 즉, 0과 1 이라는 결과물에 대해서 말할 때 가장 먼저 떠오르는 것은 로지스틱 회귀이다. 하지만 딥러닝에 있어 로지스틱 회귀를 어떻게 활용할 수 있는가? 사실 로지스틱 회귀는 심플한 신경망이다. 그런데 신경망과 딥러닝은 사실 같은 것이다. 인공신경망을 다룰 때 "deep" 이라는 용어에 대해 상세히 설명할 기회가 있을 것이다. 이에 앞서 로지스틱 회귀를 이해하기 위해 computation graph 에 대해 알아보자. Computation graph 일종의 수학적 표현의 시각화 정도라고 생각하면 될 것이다. 예를 들어, 의 경우 다음과 같이 표현할 수 있다. http://image.ibb.co/hWn6Lx/d.jpg 그러면 로지스틱 회..
Deep Learning Tutorial for Beginners - 1. Overview the Data Set
2018. 12. 18.# Overview the Data Set본 튜토리얼에서는 수화 데이터를 사용한다. 데이터셋 다운로드와 상세한 데이터셋에 대한 설명은 다음 링크를 참조한다. 데이터셋 다운로드 https://www.kaggle.com/ardamavi/sign-language-digits-dataset데이터셋 개요 https://www.kaggle.com/ardamavi/sign-language-digits-dataset/home아래 코드를 실행시키면 input 디렉토리에 있는 파일 디렉토리가 호출된다.1234567import numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)import matplo..
케라스 딥러닝 이진분류 Classifying movie reviews: a binary classification example
2018. 12. 15.케라스 버전 확인import keras keras.__version__ Using TensorFlow backend. Out[1]:'2.2.4' IMDB 데이터셋영화 리뷰 텍스트를 기반으로 해당 리뷰를 긍정과 부정으로 분류하는 방법, 즉 이진 분류 방법에 대해 알아본다. IMDB 데이터셋은 훈련데이터, 테스트데이터 각각 25,000개로 구성 (긍정리뷰 50%, 부정리뷰 50%)같은 데이터를 가지고 모델을 훈련하고 테스트해서는 안되기 때문에 훈련 데이터와 테스트 데이터를 나누게 됨훈련 데이터에서의 작동이 새로운 데이터에서의 작동을 보장해주지는 않음 (훈련 데이터의 레이블은 이미 알고 있기 때문에 이를 예측하는 모델은 필요없음)데이터셋을 로드한다.from keras.datasets import imdb (t..
아나콘다 matplotlib 설치
2018. 12. 15.아나콘다 matplotlib 설치12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394(tfKeras) founder@hilbert:~/tfKeras$ conda install -c conda-forge matplotlibSolving environment: done ## Package Plan ## environment location: /home/founder/anaconda3/envs/tfKeras added / updated specs..
딥러닝 툴 설치하기 Anaconda, Jupyter Notebook, TensorFlow and Keras for Deep Learning
2018. 12. 15.딥러닝 학습을 위해 필요한 아나콘다, 주피터 노트북, 텐서플로우와 케라스를 설치해보자. Downlaod Anaconda먼저 아나콘다를 설치한다. 아나콘다 가상환경에 데이터 사이언스와 딥러닝에 필요한 패키지를 설치한다. 아나콘다를 사용하면 특정 프로젝트에 필요한 특정 버전의 패키지 설치 등 버전 충돌에 대한 우려를 덜 수 있는 장점이 있다. 다음과 같이 현재 기준으로 텐서플로우나 케라스가 지원하는 파이썬 3.6 버전을 갖춘 환경을 설치해보자.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354founder@hilbert:~$ conda create --name tfKeras pyth..
Computer Vision (4) scikit-image 이미지 처리 기본
2018. 12. 9.scikit-image 는 이미지 처리를 위한 파이썬 라이브러리, 엔터프라이즈급 응용프로그램을 작성하는데 적합하다. 우분투의 경우 다음과 같이 설치한다. 123456789101112(venv) fuchsia@fuchsia:~$ pip install -U scikit-imageInstalling collected packages: toolz, dask, cloudpickle, scikit-image Found existing installation: scikit-image 0.13.1 Not uninstalling scikit-image at /usr/lib/python3/dist-packages, outside environment /home/fuchsia/venv Cant uninstall 'sciki..
Computer Vision (3) 이미지 변환 및 향상
2018. 12. 8.기하학적 변환Pillow 를 통해 크기 변환, 회전, 뒤집기와 같은 여러 가지 유형의 이미지 변환이 가능하다. 크기 변환 - 새로운 크기를 인수로 담는 resize() 함수를 이용한다.resize_img = img.resize((500,300)) imshow(np.array(resize_img)) Out[12]: 회전 - 이미지의 회전 처리된 복사본을 반환한다. 센터를 기준으로 시계반대 방향(counter clockwise)으로 회전시킨 이미지를 반환한다.rotate_img = img.rotate(90) imshow(np.array(rotate_img)) Out[13]: 이미지 향상이미지의 대비, 밝기, 색상 밸런스, 선명도 변경 등의 작업을 포함한다. 이미지 밝기 변환 - enhance() 함수는 실수..
Computer Vision (2) 색상공간(그레이스케일, RGB, HSV)
2018. 12. 8.색상공간은 이미지를 저장하는 다양한 형태를 의미하는 용어로, 흔히 접하는 그레이스케일, RGB, CMYK 등이 이에 해당한다. 그리고 색상공간의 각 값을 색상채널이라고 부른다. 그레이스케일이미지의 각 픽셀 값은 0 (검은색) ~255 (흰색) 사이의 값을 가진다. 엄밀히 말해서 흑백이미지와는 다르다. 흑백 이미지에서 각 픽셀은 0 혹은 255 만을 가지며 그 사이에는 값이 없다. RGB빨간, 녹색, 파란색 채널의 3가지 값의 조합으로 나타낸다. 검은색 = (0, 0, 0)빨간색 = (255, 0, 0)녹색 = (0, 255, 0)파란색 = (0, 0, 255)흰색 = (255, 255, 255) HSV 색조hue, 채도saturation, 값valueRGB 값을 원통에 투영하는 원통형 좌표계. https..
Computer Vision (1) 이미지 읽기, 자르기, 저장
2018. 12. 8.이미지 처리의 핵심색, 픽셀 간의 상호 관계, 물체 배치, 다른 미세한 세부 항목과 같은 이미지의 다른 속성을 이용하여 에지, 물체, 윤곽선 등 이미지 특징이라고 부르는 유용한 정보를 추출하는 것 이미지 읽기여기서는 이미지 처리 라이브러리 중 Pillow 를 사용한다. 설치 등에 관련된 내용은 아래 링크를 참조한다. https://pillow.readthedocs.io/en/5.3.x/from matplotlib.pyplot import imshow import numpy as np from PIL import Image %matplotlib inline img = Image.open('legus.png', 'r') imshow(np.asarray(img)) Out[1]: 이미지 자르기원본 이미지에서 특..
데비안 9 파이어폭스 설치하기 How to install latest Firefox Browser on Debian 9 Stretch Linux
2018. 11. 25.먼저 최신 Firefox tar-ball 다운로드한다.12345678910111213141516171819fuchsia@fuchsia:~$ wget -O FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"--2018-11-24 07:58:14-- https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-USResolving download.mozilla.org (download.mozilla.org)... 35.166.169.68, 52.41.13.96, 54.213.7.119Connecting to downlo..
Debian 9 서버 VNC 설치 및 환경설정 How to Install and Configure VNC on Debian 9
2018. 11. 24.구글 클라우드 플랫폼 환경 중 Deep Learning VM 의 기본 운영체제인 Debian 9 서버에 VNC 를 설치해보도록 하자. 데스크탑 환경 및 VNC 서버 설치기본적으로 Debian 9 서버는 그래픽 데스크탑 환경이나 VNC 서버를 제공하지 않으므로, 아래 관련 패키지를 설치하는 것에서 시작해야 한다. 특히 최신 Xfce 데스크탑 환경과 TightVNC 패키지를 사용할 예정이다.먼저 패키지 리스트를 업데이트한다. 1~$ sudo apt updateColored by Color ScriptercsXfce 데스크탑 환경을 설치한다. 설치과정에서 키보드 레이아웃 선택 화면이 뜨면 해당되는 옵션을 선택 후 설치를 계속 진행한다.1~$ sudo apt install xfce4 xfce4-goodiescs..
Debian 버전 체크하기
2018. 11. 24.Debian 버전을 체크하는 가장 간단한 방법은 /etc/issue 파일의 내용을 보는 것이다.12fuchsia@fuchsia:~$ cat /etc/issueDebian GNU/Linux 9 \n \lcs 하지만 상기 명령어는 현재 Debian 업데이트 포인트 릴리스를 보여주지 않는다. 따라서 좀 더 정확한 정보는 다음 명령을 통해서 살펴볼 수 있다.12fuchsia@fuchsia:~$ cat /etc/debian_version9.6Colored by Color Scriptercs 그리고 /etc/os-release release 파일을 통해서도 체크할 수 있다.123456789fuchsia@fuchsia:~$ cat /etc/os-releasePRETTY_NAME="Debian GNU/Linux 9 (..
브라우저에서 구글 클라우드 플랫폼 주피터 노트북 실행하기
2018. 11. 15.아나콘다 가상환경 구축시 주피터 노트북은 기본적으로 설치가 된다. 설치되어 있는 주피터 노트북의 버전을 확인해보자. 12(dominika) founder@hilbert:~/teamgalois$ jupyter notebook --version5.6.0Colored by Color Scriptercs 12(dominika) founder@hilbert:~/teamgalois$ which jupyter-notebook/home/founder/anaconda3/bin/jupyter-notebookcs주피터 노트북 설정 파일을 생성한다.1234 (dominika) founder@hilbert:~/teamgalois$ jupyter notebook --generate-configWriting default conf..
장고 워드프레스 통합하기 Integrating Django with a wordpress database
2018. 11. 15.LEMP 기반으로 우분투에 설치된 워드프레스를 Django 프레임워크와 연동하여 관리해보자. 본 예제에 앞서 진행되어야 할 관련 포스팅은 아래 내용을 참고한다. 우분투 18.04에 워드프레스 설치하기 How To Install WordPress with LEMP on Ubuntu 18.04 https://antilibrary.org/1884우분투 18.04 에 Nginx phpMyAdmin 설치하기 Installing phpMyAdmin for Nginx on Ubuntu 18.04 https://antilibrary.org/1901 장고 설치 및 워드프레스 DB 연결먼저 장고를 설치한다. 금일 기준 최신 버전은 Django 2.1.3 이다. 12345678910(dominika) founder@hilb..
워드프레스 이미지 업로드 사이즈 수정하기 (Nginx)
2018. 11. 11.워드프레스의 경우 기본적으로 최대 업로드 파일 크기가 2MB로 설정되어 있어 불편한 점이 많다. 최대 사이즈 설정을 변경해보자. 여기서는 php.ini 파일의 수정값을 통해 진행해보기로 한다.php.ini 파일은 우분투의 경우 통상 아래의 2군데에 위치해있는데 2개의 파일 모두를 수정해야 한다. /etc/php/7.2/fpm/php.ini/etc/php/7.2/cli/php.ini 수정해야할 내용은 두 파일 모두 동일하다. 먼저 fpm 디렉토리의 설정파일부터 수정해보자. 1root@hilbert:/etc/php/7.2/fpm# nano php.inics파일을 열어 먼저 upload_max_filesize 를 기존 2M 에서 원하는 크기로 수정해준다. Ctrl + W 를 이용하면 손쉽게 해당 항목을 찾을 ..
파이썬을 통한 MySQL 접속 Python MySQL Database Connection
2018. 11. 10.파이썬을 통해 MySQL에 접속하는 방법에 대해 알아보자. Download and Install MySQL Connector Python on Linux본 가이드의 환경은 우분투 18.04 운영체제로, 먼저 pip 를 사용하여 Connector/Python 을 설치하자.1:~$ pip install mysql-connector-pythoncs 다른 운영체제에 대한 설치방법은 아래 링크를 참조한다. https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html Python MySQL Database ConnectionSteps to connect MySQL database in Python using MySQL Connect..
우분투 18.04 에 Nginx phpMyAdmin 설치하기 Installing phpMyAdmin for Nginx on Ubuntu 18.04
2018. 11. 9.우분투 18.04 Nginx 기반으로 작동하는 phpMyAdmin 을 구성해보자. phpMyAdmin 은 오픈 소소 소프트웨어로 GUI 를 통한 MySQL 데이터베이스를 관리하는데 도움을 준다. Install phpMyAdmin패키지 업데이트와 phpMyAdmin 설치를 동시에 진행하자. 아래를 보면 2개의 명령문이 && 로 결합되었음을 알 수 있다. 앞 부분은 최신 버전으로 패키지를 업데이트하는 부분이고, 뒷 부분은 phpMyAdmin 을 설치하는 부분이다. y 와 엔터를 눌러서 계속 진행한다. 1~$ sudo apt update && sudo apt install phpmyadmincs 물론 아래 화면은 사용자 환경에 따라 상이할 수 있다. Yes 를 선택하고 엔터를 눌러서 데이터베이스를 설치하고 구..