Jupyter Notebookでいじって学ぶTensorFlow - MNIST For ML Beginnersをよんで、windowsでもJupyter NotebookをつかってTensotflowを実行できる環境が欲しくなったので、構築してみました。
pyenvのインストール
Bash on Ubuntu on Windowsにはデフォルトでもpythonが入っていますが、Anacondaを
使いたかったので、pyenvをインストールしました。
$ sudo aptitude install git
$ git clone https://github.com/yyuu/pyenv ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
Anacondaのインストール
pyenvのインストールが終わったら、
$ pyenv install --list
してAnacondaの最新のバージョンを探します。この記事を書いた時点では3-4.2.0が最新だった
ので、3-4.2.0をインストールしてデフォルトの設定にしました。
$ pyenv install anaconda3-4.2.0
$ pyenv global anaconda3-4.2.0
$ pyenv rehash
X11 GUI環境の整備
参考記事[2]を参考にしてX11 GUI アプリケーションを使える環境を整えます。
windowsには以下のアプリケーションをダウンロードしてインストールします。
- Xming-6-9-0-31-setup.exe
- Xming-fonts-7-7-0-10-setup.exe
そのあとにBash on Ubuntu on Windowsで以下のコマンドでX11を入れて、DISPLAYの設定も.bashrcに書きます。
$ sudo aptitude install x11-apps
$ echo 'export DISPLAY=localhost:0.0' >> ~/.bashrc
$ source ~/.bashrc
最後にxclockを表示させて動作を確認します。
$ xclock
matplotlibのインストール
jupyterでグラフを表示させるためにはmatplotlibが必要なので、その準備をします。
sudo aptitude install libqtgui4
conda install matplotlib
また次のコードで使うnumpyがmkl対応になっていて、エラーになるので、
nomklのものに入れ替えます。
conda install nomkl
conda update --all
この状態で以下のコードを実行すると、sinカーブの画像が作られることを確認します。
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.savefig('sin_curve.png')
jupyterのインストール
Bash on Ubuntu on Windowsではlibzmq3周りでエラーになるので、それに対応したlibzmq3をインストールします。
$ sudo add-apt-repository ppa:aseering/wsl
$ sudo aptitude update
$ sudo aptitude install libzmq3
$ conda install -c jzuhone zeromq=4.1.dev0
$ conda install jupyter
最後に以下のコマンドを実行すれば、Jupyterが立ち上がり、http://localhost:8888/
で接続してpythonを実行できるようになります。
jupyter notebook --no-browser
先ほどのmatplotlibのグラフをjupyterのnotebookでインラインで表示させたい
場合は以下のように書くことでjupyterのnotebookに表示できます。
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
Tensorflowのインストール
参考記事[1]を参考にしてanaconda
の環境にTensorflowをいれます。
conda install -c conda-forge tensorflow
最後にJupyterのNotebook上で、https://www.tensorflow.org/get_started/
にあるコードを張り付けて実行すると結果が返ってくるので、
Tensorflowがインストールできていることが確認できます。
参考記事
以下の記事を参考にさせて頂きました。ありがとうございます。
1.Bash on Ubuntu on WindowsでTensorFlowを使うためのメモ
2.Bash on Ubuntu on Windows + XmingによるGUI
3.Cygwin絶対殺すマン ~物理のオタクがWindows Subsystem for Linuxで数値計算できるようになるまで~
4.Jupyter Notebookでいじって学ぶTensorFlow - MNIST For ML Beginners