はじめに
近年、画像認識や自然言語処理など、Deep Learning(DL)を利用したAIの活用が徐々に広がっており、仕事で触れる機会も徐々に出てきました。
Deep Learningのフレームワークとしては、TensorFlowやCaffeなどが良く知られていますが、
今回は、Microsoft Azureで各種開発環境をインストール済みの仮想マシン(Data Science Virtual Machine)が提供されていることから、
Cognitive Toolkit (CNTK) とMicrosoft Azureの仮想環境を利用して、DL開発環境を簡単に構築してみます。
CNTKとは?
Microsoftからリリースされている、深層学習(Deep Learning)向けのフレームワークです。
C++, pythonのAPIが用意されており、Windows環境だけでなく、Linuxでの開発にも対応しています。
実行環境としてCPU利用とGPU利用を選択することができ、複数GPU環境にも対応しているとのことです。
[参考]
- https://www.cntk.ai/Tutorials/GTC2017/S7129_Scalable_Deep_Learning_with_Microsoft_Cognitive_Toolkit_SayanPathak.pdf
- https://docs.microsoft.com/en-us/cognitive-toolkit/Setup-CNTK-on-your-machine
環境構築の流れ
今回は、Data Science Virtual Machine (DSVM)のWindows Server 2016版を利用して環境を構築します。
構築の手順は下記の通りです。
1. Microsoft Azure のサブスクリプションの準備
2. Data Science Virtual Machine (DSVM)の構築
3. Jupyter Notebookを起動
Microsoft Azureサブスクリプションの準備
Azureのサブスクリプションは、無料体験版(1ヶ月間20,000円分まで)やMSDN特典のサブスクリプションから利用できるほか、
有償契約での利用(従量課金、Open版、EA版、CSP版など)も可能です。
それぞれの契約方法については、下記をご参照いただき、本稿では割愛させていただきます。
[参考] 価格の概要 - Azure 価格の仕組み
Data Science Virtual Machine (DSVM)の構築
- Azureポータルへアクセスします。
- 「+新規」を選択します
- 検索ウィンドウに「Data Science Virtual Machine」と入力します。
- 「Data Science Virtual Machine - Windows 2016」を選択します。
- VM名、OSアカウント・パスワード等を入力します。
- サイズを選択します。( NCシリーズ推奨。今回はNC6を選択。)
- NCシリーズは、コンピューティングに特化したGPU(NVIDIA Tesla K80)を搭載した仮想マシンで、Deep Learningの処理等に適しているとのことです。( 参考: Azure Windows VMのサイズ - GPU )
- リソースグループ、仮想ネットワーク、IPアドレス等の設定をします。
- 5.~7.の手順については、こちらをご参照ください。
- リモートデスクトップで接続します。
初期状態では、下記ソフトウェアがインストールされています。
* Microsoft R Server - 開発者Edition。 (Scarable R)
* Anaconda Python
* SQL Server 2016 Developer Edition
* Microsoft Office 365 ProPlus BYOL - Shared Conputer Activation
-- Shared Conputer Activation(SCA)についてはこちらを参照
* Julia Pro + Juno Editor
* Jupyter Notebook
* Visual Studio Community Edition + Python, R&node.jsツール
* Power BI Desktop
* 各種Deep learning 例:Microsoft Cognitive Toolkit (CNTK 2.0), TensorFlow & mxnet
* ML アルゴリズムライブラリ 例:xgboost, Vowpal Wabbit
* 下記各種Azure Cloud製品用のAzure SDK +ライブラリ統合ツール
・Azure Machine Learning
・Azure Data Factory
・Stream Analytics
・SQL Data Warehouse
・Hadoop + Apache Spark (HDICluster)
・Data Lake
・Blob storage
・ML & Data Science チュートリアル (Jupyter Notebook形式)
Jupyter Notebookの起動
DSVMには、あらかじめJupyter Notebookがインストールされています。
コマンドプロンプト(cmd.exe)かWindows Powershellを起動して、下記コマンドを入力するだけで起動できます。
jupyter notebook
CNTKの動作確認
Jupyter Notebookから、下記のコードを入力すると、CNTKのバージョンを確認することが出来ます。
import cntk as C
C.__version__
次回
次回は、CNTKを使って簡単なプログラムを書いてみます。