SE_BOKUのまとめノート的ブログ

SE_BOKUが知ってること・勉強したこと・考えたことetc

NNabla(Neural Network Libraries)をWindowsのanaconda(python3)環境にインストール

ニューラルネットワークコンソール(Neural Network Console)は、「人工知能(AI)を実現するディープラーニング(深層学習)の統合開発環境」です。 

 

統合開発環境ということは、ニューラルネットワークコンソールで設計・学習・評価の試行錯誤をして、最適化できたものを、ソースコードに落とし込めるということです。 

実際、ニューラルネットワークコンソールのEDITタブのActionで、pythonソースコードにエクスポートできます。f:id:arakan_no_boku:20170923225209j:plain

 

このエクスポートしたコードをPythonで実行するときに必要なのがNNabla(Neural Network Libraries)なので、インストールしておきます。

 

2017/12/02追記

>上記および以降の説明のニューラルネットワークコンソールの画面は、Version1.00のものです。

>Version1.10ではアイコンのデザイン等が少し変わってます。

>ただ、見てわかる範囲と判断して特に貼り替えはしていません。

 

NNabla(Neural Network Libraries)のインストール

 

一番、シンプルな以下のパターンでやります。

  • CPUサポートのみ
  • anaconda(3)にインストールする。

 

手順は、こうです。

  1. anaconda(python)をインストールする。
  2. anacondaに、NNablaの領域を作る
  3. NNablaをインストールする。
  4. インストールできたか動作確認する

 

1.anacondaをインストールする

anacondaのインストーラはこちらからダウンロードします。

www.anaconda.com

 

ダウンロードしたインストーラを実行します。 

1点だけ、インストールするフォルダに注意してください。 

デフォルトのままでとばしていると、「Just Me」という選択肢になって、USERSの下にインストールされてしまいます。 

「All User」に変更して、C:\直下の適当なフォルダにインストールした方があとで面倒がないと思います。 

あとは、あまり悩むところはありませんので、詳しくは書きません。 

必要であれば、例えば「anaconda windows インストール」でググれば、でてきますので、そちらを参照く

 Anaconda を利用した Python のインストール (Windows)

とかですね。

 

2.anacondaに、NNablaの領域を作る

 

これは必須ではありません。

tensorflowとか他の開発環境も切り替えて使いたい場合に、NNabla専用の環境を作るために行います。

なので。

NNablaしか使わない。

もしくは他のプログラムから「Neural Network Libraries」の処理を起動したりするのが必要な場合とかなら、仮想環境を作らずにインストールにすすんでください。

 

さて、仮想環境の作り方です。

Windowsコマンドプロンプト か anaconda prompt を起動します。(スタートメニューのanaconda3の下にあります) 

そこで以下のコマンドを打ち込みます。 

conda create --name=nnabla python=3.5

 

f:id:arakan_no_boku:20170304170658j:plain

 途中で、問い合わせしてくるので、[y]と答えます。 

構築が始まります。 

しばらく(数分)で終わります。 

成功すると、こんな画面で終わります。

f:id:arakan_no_boku:20170923231827j:plain

 

2017/12/30追記

>現在、自分の環境ではpython=3.6で使っています。

>なので、「conda create --name=nnabla python=3.6」でも良いと思います。

 

できたかどうか確認するために、以下のコマンドを入力します。

conda info -e

こんな風にnnabla環境ができていればOKです。

f:id:arakan_no_boku:20170923232004j:plain

 

  

3.NNablaをインストールする。 

インストール作業をする前に確認です。

 

NNableの一部機能は、VC++14(VisualStudio2015相当)でコンパイルされているので、VisualStudio2015のRuntimeが必要です。

 

すでにインストールされている場合は、いいですが、なければ先にインストールしておく必要があります。

f:id:arakan_no_boku:20170924132256j:plain

 仮想環境を作った場合は、NNabla(Neural Network Libraries)環境をアクティブにするコマンドを入力します。

activate nnabla

プロンプトに(nnabla)が表示するのを確認します。

f:id:arakan_no_boku:20170924003202j:plain

さて、インストールです。

 以下のコマンドでインストールします。

pip install nnabla

 最後にSuccessfullyとでれば、OKです。

f:id:arakan_no_boku:20170924133537j:plain

ただ、NNabla(Neural Network Libraries)のバージョンによっては、上記だけではうまくいかない場合があります。

例えば、こんなエラーメッセージとかが表示されたりします。

などなど。

ようするに、Scipyなどをソースからコンパイルしにいこうとするので、ソースを探しに行ったり、VC++コンパイラを探しにいったり・・、するみたいです。 

そんな場合は、以下のコマンドを実行してからインストールします。

conda install scipy scikit-image ipython

 これで、scipy他NNablaのインストールに必要なパッケージがインストールされます。

  

2017/12/30追記

pip install nnabla 実行時に、「No module named 'setuptoos.wheel'」というエラーがでる現象が発生する場合があるみたいです。(今回、発生したのは python=3.6 でconda create した環境でしたが、そのせいかどうかはわかりません。) 

とりあえず、今回、回避した方法だけ書いておきます。

conda install setuptools

conda install wheel

 

を実行後、再度、pip install nnabla したらいけました。 

続けて、pyWin32をインストールします。

conda install -c anaconda pywin32

 これをしておかないと、後の動作確認で import nnablaした時に、「 No module named win32com・・」のエラーがでます。 

 

4.インストールできたか動作確認する

 仮想環境を作った場合は「activate nnabla」とかします。

ipythonを立ち上げます。

f:id:arakan_no_boku:20170924140633j:plain

 

ここで、nnablaがimportできればOKです。

f:id:arakan_no_boku:20170924140820j:plain

 この状態になっていれば、「exit」と打ち込んで、ipythonを終了させてインストール作業は終わりです。 

以上で、インストールは終わりです。 

 

おまけにバージョンアップのやり方です

 

本家のサイトにも「Installation on Windows」があります。 

英語ですけど。 

もし、GPUも使う場合のコマンド等を参照する場合は、こちらを見てください。 

上記手順は、実際にやってますから、少なくとも現時点(2017/09/26)では、手順通りにやればサクッとインストールできるはずです。 

ただ、わりあい変更が頻繁にあったりするものでもありますので、もし、うまくいかない現象を見つけられた方は、コメント等で教えてもらえるとありがたいです。 

あと、NNablaは結構頻繁にバージョンアップしているみたいです。 

最新バージョンにするには、activate nnabla をした後で、以下のコマンドを実行すると、バージョンチェックしてアップデートしてくれます。

pip install -U nnabla

 以上、補足です。

 

2017/12/02追記

バージョンアップ関連の記事は以下にも書いてます。

arakan-pgm-ai.hatenablog.com

 

関連記事

ニューラルネットワークコンソールカテゴリ関連の記事はこちらです。

arakan-pgm-ai.hatenablog.com

f:id:arakan_no_boku:20171115215731j:plain