社会人からはじめる機械学習勉強 Week 13 – SRCNNの実装開始

2016/3/28~4/3

3/26~30まではPhuketへの旅行へ行っていたため、特に何も進まず。

機械学習用パソコンセットアップ

家のUbuntu環境をセットアップしなおした。現状多くのソフトがサポートしている環境であるUbuntu 14.04でセットアップ。

Python セットアップ

以下備忘録として、メモ抜粋。

python, numpy, scipy, matplotlib install

$ sudo apt-get install python python-dev
$ sudo apt-get install python-numpy python-scipy python-matplotlib

Ref: http://sat0yu.hatenablog.jp/entry/20130302/1362172589

$ sudo apt-get install python-pip
$ sudo pip –proxy=http://xx.xx.xx.xx:port install milksets

PIP setting

[Encode change from ‘ascii’ to ‘utf-8’]

This is necessary for pip to work properly on Ubuntu
Change default encoding

add write below at /usr/lib/python2.7/sitecustomize.py

import sys
sys.setdefaultencoding('utf-8')

Theano install

For Ubuntu 11.10 through 14.04:

$ sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ 
$ libopenblas-dev git
sudo pip install Theano

Updating theano module

$ sudo pip --proxy=http://xx.xx.xx.xx:yyyy install --upgrade theano
$ theano-cache clear

Upgrading scipy

$ sudo pip --proxy=http://43.74.40.42:10080 install --upgrade scipy

We can upgrade scipy when we get below warning

Pandas install

sudo pip install pandas

Image processing: OpenCV, CV2

I don’t know which one is necessary. all 4 procedures, it worked fine.

1. Install by pip

$ sudo pip --proxy=http://43.74.40.42:10080 install cv2

2. Install python-opencv

$ sudo apt-get install python-opencv

3. using script

Make “opencv.sh” and write following and execute.

version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '\"[0-9](\.[0-9]+)+' | cut -c2-)"
echo "Installing OpenCV" $version
mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg cmake qt5-default checkinstall
echo "Downloading OpenCV" $version
wget -O OpenCV-$version.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".zip/download
echo "Installing OpenCV" $version
unzip OpenCV-$version.zip
cd opencv-$version
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j2
sudo checkinstall
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "OpenCV" $version "ready to be used"

4. PYTHONPATH setting

Write inside ~/.bashrc

# Python Path setting
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH

Chainer install

Before installing chainer, I needed to install google apputils beforehand!!!

$ sudo pip --proxy=http://xx.xx.xx.xx:yyyyy install google-apputils
$ sudo pip --proxy=http://xx.xx.xx.xx:yyyyy install chainer

SRCNN実装

以下、関連するリンク集。

SRCNN Website サンプルソースコードなど

Matlab, caffeを使って実装しているよう。

・写真のデータセットについて
1.ILSVRC
http://image-net.org/challenges/LSVRC/2013/
http://image-net.org/challenges/LSVRC/2015/
ILSVRCは、Detection, classification task用の写真Datasetを配っているので、写真の質は必ずしも良くないものが多いので不適切な気がする。

2.Places2
http://places2.csail.mit.edu/index.html
http://places2.csail.mit.edu/download.html
景色のDetectionのためのProjectで、10M枚を超える(500GB程度)写真のDatasetを提供している。景色写真が大量にほしかったらここで足りそう。
とりあえず一番小さいVaridation dataset 1.2GBだけダウンロードした。

3.Pexel (Flickrとかもあり)
本格的なTraining phaseに入る前までは、少ない枚数のサンプルがあれば十分なので、手動でPexelからCC0ライセンスの写真を使うことに。→最終的にはこれを使って訓練してる。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です