개요

word2vec_basic.py 돌리다가 아래와 같은 에러를 해결하는데 삽질하다가 방법 찾아서 기록해둔다.

Tensorflow, Please install sklearn and matplotlib to visualize embeddings.

관건은 matplotlib와 sklearn을 설치해야 하는데 TSNE가 들어간 sklearn의 경우 직접 빌드하여 설치해야 한다.

우분투 사전설치

$ sudo apt-get install libpng-dev
$ sudo apt-get install libfreetype6-dev
$ pip install matplotlib # virtualenv 환경에서

설치1: matplotlib

$ source ~/tensorflow/bin/activate
$ pip install matplotlib    

설치2: sklearn

필자의 경우 virtualenv 바깥 환경에서는 cython이 0.20 버전이고 virtualenv 안쪽에서는 0.25버전이라 virtualenv안에서 빌드를 완료 하였다.

$ sudo apt-get install build-essential python-dev python-setuptools \
                  python-numpy python-scipy python3-scipy \
                  libatlas-dev libatlas3gf-base

우분투 16에서 libatlas3gf-base 설치가 안된다면 링크에서 deb로 설치한다.

$ source ~/tensorflow/bin/activate

# 파이썬 2.x
$ (tensorflow) pip install Cython --upgrade

# 파이썬 3.x
$ pip3 install Cython --upgrade를 입력한다.

$ (tensorflow) git clone "https://github.com/scikit-learn/scikit-learn.git"
$ (tensorflow) cd scikit-learn
$ (tensorflow) make

# 파이썬2.x
$ (tensorflow) python setup.py install

# 파이썬 3.x
$ (tensorflow) python3 setup.py install    

Reference

http://stackoverflow.com/questions/31077145/trying-to-use-tsne-from-sklearn-for-visualizing-my-high-dimensional-data-but-g