これまで使用していたノートPC(マウスコンピューターLuvBook S)の基板が逝ってしまい、
起動しなくなってしまったので、新たに中古でThinkPad X230を購入してセットアップをしています。
LuvBookは基板以外は生きていたので、メモリ4GB×2をX230に移動しています。
それから、SSD 128GBからデータを救出した後、フォーマットし学生版のWindows 10 Educationをインストールしました。
また、せっかくWin10にしたので、python開発環境をWindows Subsystem for Linux(WSL)を用いUbuntuで構築することにしました。
以下に構築の手順を記載します。
1. [コントロールパネル] – [Windowsのプログラムと機能] – [Windowsの機能の有効化または無効化] で
「Windows Subsystem for Linux」へチェックを入れ、再起動する
2. Microsoft StoreからUbuntuを検索してインストール
3. Ubuntuを初回起動すると、ユーザー名・パスワードを聞かれ、インストール作業が行われる。
4. 環境の準備
$ sudo apt install -y build-essential
$ sudo apt install -y libsm6
$ sudo apt install -y libxrender1
5. pyenvのインストール
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
6. anacondaのインストール
$ pyenv install -l | grep anaconda
でバージョン確認。私はpython 3系しか使うつもりがなかったので、そっちだけインストールしました。
$ pyenv install anaconda3-5.0.1
$ pyenv rehash
$ pyenv global anaconda3-5.0.1
$ echo 'export PATH="$PYENV_ROOT/versions/anaconda3-5.0.1/bin/:$PATH"' >> ~/.bashrc
$ source ~/.bashrc
7. 各ライブラリのインストール
今回はseaborn、xgboost、plotly、pydotplus, graphvizをインストールします。
$ pip install seaborn
$ git clone --recursive https://github.com/dmlc/xgboost
$ cd xgboost
$ make -j4
$ cd python-package
$ python setup.py install
$ pip install pydotplus
$ sudo apt install graphviz
(必要であれば,conda update graphvizもやっておくと良いです.)
【2017/11/28追記】
ついでにTensorFlowもインストールしておきます。
今回はGPUも無かったのでCPUのみのバージョンをインストールします。
python3しかインストールしていないのでpip直叩きしましたが、インストール後にワーニングが出ました。
$ sudo pip install tensorflow
$ python
>>> import tensorflow as tf
/home/demio/.pyenv/versions/anaconda3-5.0.1/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6
return f(*args, **kwds)
どうやらtensorflow1.4はまだpython3.6に正式対応していないようです。
pythonのバージョンを3.5に落とすか、インストールするtensorflowのバージョンを1.3.0に落としておく必要があります。
$ sudo pip install tensorflow==1.3.0
参考:
Installing TensorFlow on Ubuntu
Creating a specific 3.6 binary for Linux #14182 tensorflow/tensorflow GitHub
8. jupyter notebookの設定
$ python
> from IPython.lib import passwd
> passwd()
でパスワードのハッシュ値をコピーしておく。
$ cd
$ jupyter notebook --generate-config
$ sudo nano /.jupyter/jupyter_notebook_config.py
でコンフィグファイルを生成し、末尾に以下を追記
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 12345
c.NotebookApp.password = u'ハッシュ値'
jupyter notebookを再起動
$ jupyter notebook &
Windows10のウェブブラウザからhttp://localhost:12345にアクセスして見れるかチェック。
9. SSHサーバの立ち上げ
Windows10のSSHサービス停止
「サービス」からSSH Server Broker, SSH Server Proxyを停止(無効)
Windowsファイアウォールの受信の規則のSSH Server Proxy Serviceを無効にし、
新しい規則でTCP port22を有効にする。
ここからUbuntuの設定
$ cd /etc/ssh
$ sudo ssh-keygen -t rsa -N '' -f ssh_host_rsa_key
$ sudo nano /etc/ssh/sshd_config
を開いて、
Hostkey /etc/ssh/ssh_host_dsa/key
Hostkey /etc/ssh/ssh_host_ecdsa/key
Hostkey /etc/ssh/ssh_host_ed25519/key
をコメントアウト、
UsePrivilegeSeparation を no
PasswordAuthentication を yes
に修正して保存。
$ sudo /etc/init.d/ssh restart
で再起動すればOK
Windows10からWinSCPやteraterm等でlocalhost:22にアクセスできるか確認。
参考:
UbuntuをWindows 10(Fall Creators Update)にインストールしてみた
UbuntuServer 16.04 LTSでJupyter Notebookを使った機械学習環境を手っ取り早く作る手順 with anaconda