LoginSignup
18
34

More than 5 years have passed since last update.

Bash on Ubuntu on WindowsでJupyter NotebookからTensorflowを実行する

Last updated at Posted at 2017-01-27

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カーブの画像が作られることを確認します。

sin_plot.py
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)

sin_curve.PNG

Tensorflowのインストール

参考記事[1]を参考にしてanaconda
の環境にTensorflowをいれます。

conda install -c conda-forge tensorflow

最後にJupyterのNotebook上で、https://www.tensorflow.org/get_started/
にあるコードを張り付けて実行すると結果が返ってくるので、
Tensorflowがインストールできていることが確認できます。

tensor_flow_tutorial.PNG

参考記事

以下の記事を参考にさせて頂きました。ありがとうございます。
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

18
34
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
34