2020/10/10 Updated by

Anaconda

DeZero を学ぶためのPython環境


[Up] Japanese English

「ゼロから作るDeep Learning 3 フレームワーク編」の中のDeZeroフレームワークをを動かすのに必要な python 環境を作る。

  1. Anaconda で python 3.X の環境がインストールされているものとする。(X ≥ 7)
  2. condaを起動して、condaが生成したウィンドウの中で以下の作業を行う。
  3. conda で新しい python 環境を作成する。 ここではpython環境の名前は dezero とする。
      (base) % conda update -n base conda
      (base) % conda update --all
    
    なぜかpythonは3.7のままで最新版のpython3.8はインストールされないようだ。 tensorflow 2 は python 3.5 〜 3.8 で使えるようだが、 他の環境との整合性からpython 3.6を使うことにする。
  4.     (base) C:\Users\nitta>  conda create -n dezero python=3.6 jupyter 
    
  5. 作成したpython 環境に切り換える
  6.     (base) C:\Users\nitta>  conda activate dezero  
    
  7. (Macの場合)「Macでpython実行環境を作成した場合にしておくべき設定」を行う。
  8. 必要なライブラリをインストールする。
  9.     (dezero) C:\Users\nitta>  pip install numpy  
        (dezero) C:\Users\nitta>  pip install matplotlib  
    
  10. Graphviz をpipでインストールする。(本のstep 25 以降で利用するので)
  11. Graphviz の公式ページにインストール方法とQuick Startが記述されている。
      [Windowsで以下の方法でインストールした]
        $ pip install graphviz    <-- このやりかたが他の環境に影響を与えないのでよいと思う。
    
    ちなみに、本のp.182に記述されているOS毎のインストール方法は以下の通り。<--この方法は使わなかった。
      [macOS]
        $ brew install graphviz
      [Ubuntu]
        $ sudo apt install graphviz
    
  12. graphvizが正しくインストールされたことを、上記のQuick Startの例で確認しておく。
  13. (dezero) G:\マイドライブ\deeplearning\book13>python  
    Python 3.6.12 |Anaconda, Inc.| (default, Sep  9 2020, 00:29:25) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from graphviz import Digraph  
    >>> dot = Digraph(comment='The Round Table')  
    >>> dot #doctest: +ELLIPSIS  
    dot.node('A', 'King Arthur')  
    >>> dot.node('B','Sir Bedevere the Wise')  
    >>> dot.node('L','Sir Lancelot the Brave')  
    >>> dot.edges(['AB','AL'])  
    >>> dot.edge('B','L',constraint='false')  
    >>> print(dot.source) # doctest: +NORMALIZE_WHITESPACE  
    // The Round Table
    digraph {
            A [label="King Arthur"]
            B [label="Sir Bedevere the Wise"]
            L [label="Sir Lancelot the Brave"]
            A -> B
            A -> L
            B -> L [constraint=false]
    }
    >>> dot.render('test-output/round-table.gv',view=True) # doctest: +SKIP  
    'test-output\\round-table.gv.pdf'  
    
  14. Pillow はオプションとのこと。
  15. インストール用のページはこちら

        (dezero) C:\Users\nitta>  pip install pillow  
    
  16. CuPy はオプションとのこと。
  17. CuPyの公式ページには Ubuntsu とCentOSしか正式サポートしていないようだ。が、Windowsでも動いた、という話もあるようだ。

    現時点(2020/10/10)で手元のWindows10マシンにインストールされているCUDA (C:\Program Files\NVIDIA GPU Computing Toolkit\v10.1)のバージョンはv10.1。インストール方法はこちら
        (dezero) C:\Users\nitta>  pip install cupy-cuda101  
    
    なんか、cupyがWindowsにも普通にインストールされたようだ。確認してみると、正しく動作しているように見える。
    (dezero) G:\マイドライブ\deeplearning\book13>python  
    Python 3.6.12 |Anaconda, Inc.| (default, Sep  9 2020, 00:29:25) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cupy as cp  
    >>> A=cp.arange(9).reshape(3,3).astype('f')  
    >>> B=cp.arange(9).reshape(3,3).astype('f')  
    >>> print('A=\n',A)  
    A=
     [[0. 1. 2.]
     [3. 4. 5.]
     [6. 7. 8.]]
    >>> print('B=\n',B)  
    B=
     [[0. 1. 2.]
     [3. 4. 5.]
     [6. 7. 8.]]
    >>> C = A + B  
    >>> print(C)  
    [[ 0.  2.  4.]
     [ 6.  8. 10.]
     [12. 14. 16.]]
    
  18. ステップ17でline_profilerとmemory_profilerを使うのでインストールしておく。
  19.   pip install line_profiler
      pip install memory_profiler
      pip install psutil
    
  20. ステップ25以降では Graphviz の dot コマンドが必要になるのでインストールしておく。
  21. Windowsの場合
    1. Graphviz の公式ページ https://graphviz.org/ から Windows: Stable Windows install packages をダウンロードする。
    2. 現時点(2020/Nov/03)では graphviz-2.44.1-win32.zip が最新のようだ。
    3. 展開して、適切なパス(自分の環境では D:\sys\Graphviz)に移動する。
    4. 環境変数 Path に D:\sys\Graphviz\bin を追加する。
    Macの場合
        brew install graphviz
    
    Linuxの場合
        sudo apt install graphviz
    
  22. jupyter を起動する。
  23.     (dezero) C:\Users\nitta>  jupyter notebook  
    
  24. ブラウザで http://localhost:8000 にアクセスする。jupyterを起動したときに表示されるURLを指定すること。