1. Qiita
  2. 投稿
  3. BashOnUbuntuOnWindows

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

  • 0
    いいね
  • 0
    コメント

    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