프로그래밍 Programming
우분투 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 를 선택하고 엔터를 눌러서 데이터베이스를 설치하고 구..
MYSQL 시작, 종료, 재시작, 상태보기 How to restart MySQL
2018. 11. 8./etc/init.d 에 위치한 스크립트를 사용하여 MySQL 을 시작, 종료, 재시작할 수 있다. 다음과 같다. 시작1~$ sudo /etc/init.d/mysql startcs 종료1~$ sudo /etc/init.d/mysql startcs 재시작하기12 ~$ sudo /etc/init.d/mysql restart[ ok ] Restarting mysql (via systemctl): mysql.service. Colored by Color Scriptercs 구동 상태 확인하기1234567891011121314 ~$ sudo /etc/init.d/mysql status● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/sys..
MySQL 5.7.24 비밀번호 변경
2018. 11. 8.MySQL 5.7 버전 이상의 사용자 계정의 비밀번호를 변경하는 방법은 다음과 같다.현재 사용자 계정의 현황을 살펴보자.1234567891011121314mysql> SELECT Host,User,authentication_string FROM mysql.user;+---------------+------------------+-------------------------------------------+| Host | User | authentication_string |+---------------+------------------+-------------------------------------------+| localhost | root | *4A5FDHHID9DJD97D9IDKJD09D0D89..
구글 클라우드 VM 인스턴스 root 계정 비밀번호
2018. 11. 8.구글 클라우드 VM 은 기본적으로 루트 암호 설정이 제공되지 않으므로 다음의 과정을 통해 설정해준다. 보안상의 이유로 대부분의 구글 이미지는 root 계정을 통한 접속을 사용하지 않기 때문이다. 메타데이터 ssh 키를 사용하는 유저가 자동으로 관리자가 된다. 물론 권장하지는 않지만 다음과 같이 root 계정의 패스워드를 설정해 root 로 로그인을 할 수 있다. 1234567891011121314 (dominika) founder@hilbert:~$ su - rootPassword:su: Authentication failure (dominika) founder@hilbert:~$ sudo passwdEnter new UNIX password:Retype new UNIX password:passwd: p..
지메일 SMTP 서버를 사용하여 워드프레스 메일 발송하기 How to Fix the WordPress Not Sending Emails Issue
2018. 11. 6.워드프레스 회원가입 등의 기능을 이용하는 경우, 가입시 기입한 메일 주소 확인을 위해 확인 메일 송신이 필요하다. 워드프레스에서 이를 다루는 방법을 알아보자. 현재 상황은 다음과 같다. 1. 구글 클라우드 플랫폼에 우분투 18.04 엔진을 설치하고, 여기에 워드프레스를 설치했다. 2. 도메인을 가비아에서 구매한 후 해당 도메인을 구글 클라우드 네임서버로 변경하여 개인도메인으로 사이트가 출력되도록했다. https://antilibrary.org/1885 여기서 문제는 회원가입시 발송되어야할 확인 메일이 송신되지 않는다는 점이다. 다음의 과정으로 이 문제를 해결해보자. 1. 테스트 이메일 체크 플러그인 등을 활용하여 메일 송신상에 어떤 문제가 있는지 찾아보자. 플러그인 > 새로추가 > 검색어 check em..