GPUなWindows PCでCNTKとTensorFlowとVisual Studio 2017とを共存させる方法 (2018年4月版) #cogbot #cntk

しばらく「深層学習」の学習ができずにいる間に、CNTK (Cognitive Toolkit)Tensorflow もアップデートしていました。

仕切り直しに改めてローカルマシンに共存する環境を作ろうと思ったところ、どうも 以前(2017年12月頃) より格段に簡単に作れそう。ありがとう、ツールのアップデート!

本稿では、ローカルマシン (NVIDIA の GPU あり) に以下のツール類を共存させる手順を紹介します。(2018年4月時点)

続きを読む

広告

「Azure Machine Learning Workbench の使い方」発表と資料公開をしました (第11回 Cogbot勉強会) #cogbot

第11回 Cogbot勉強会 (2018年1月23日(火) 開催) で、

Azure Machine Learning Workbench の使い方

というテーマでセッションを担当しました。

続きを読む

Azure Batch AI で CNTK ジョブを実行する #batchai #cntk

Azure Batch AI は、名前の通り AI 用の Azure Batch サービスです。

高性能な GPU マシンを、学習モデルをトレーニングする時だけデプロイして使用できるもの です。
ジョブを開始すると自動的にデプロイされて、トレーニングが終了すると自動的にリソースが解放されるので、仮想マシンやリソースの課金を極力抑えることができます。しかも自動的にスケールする機能も持っています。

開発やデバッグを行うための環境ではないので、ローカルPCや DSVM (Data Science Virtual Machine) を使って事前にスクリプトやデータがきちんと用意する必要はあります。ハイパーパラメーターを変えながら、何度もトレーニングを繰り返す時に便利です。

続きを読む

Azure Machine Learning Workbench でローカルPC の CNTK を利用する #cntk #cogbot

本稿は、Cogbot Advent Calendar 2017 に参加しています。

Azure Machine Learning Workbench で CNTK を利用するための手順を紹介します。

なお現時点で私が使用したのは、Windows 版のバージョン 0.1.1711.15323 です。かなり初期のプレビューですので、今後改善されて、以下の手順を踏まなくても CNTK が利用できるようになるかもしれません。

Azure Machine Learning Workbench (長いので以下では Workbench だけにします) を触り始めると、まずはアヤメの分類(Classifying Iris)をすると思います。QuickStart で取り上げられていますしね。

アヤメの分類では、機械学習のライブラリとして scikit-learn を使用しています。Workbench のインストーラーでは scikit-learn が一緒にダウンロードされているということです。

iristest


それではと CNTK を使おうとすると ImportError が発生します。CNTK はインストールされていないようです。

cntk_error

Workbench は Miniconda を使用しています。(下は Workbench のインストール画面)

aml_installer

pip も一緒にインストールされているので、これを使って CNTK をインストールすればよさそうです。


pip コマンドを実行するためには、コマンドプロンプトを開きたいところです。

Workbench からはメニューの [File] – [Open Command Prompt] で開くことができます。

ここで起動するコマンドプロンプトは、Workbench 用の環境変数やパスがあらかじめ設定された状態になっています。便利です。

open_cmdprompt

念のために、Python のバージョンを確認します。


python -V

現時点では Python は 3.5 系がインストールされています。

Python のバージョンに合わせて CNTK の wheel をインストールします。

CNTK の wheel ファイルのパスは こちらのページ で探してください。Python のバージョンや GPU ありなしで wheel ファイルは異なるので注意。

こちらの記事 も参考にしていただければ)


pip install <wheelファイルのURL>

install_cntk

余談ですが、現時点では「pip のバージョンが古いよ」というメッセージが表示されます。

特に問題はありませんが、気になる人は、


python -m pip install --upgrade pip

を実行するといいでしょう。


これで OK。

試しに Notebook を開いて、”import cntk” してみましょう。先ほどと違ってエラーメッセージは表示されないはず。

なお Workbench の Notebook をローカル PC で実行する場合には、カーネルとして “<プロジェクト名> local” を選択してください。

“Python 3” は選択しないように。Workbench 環境とうまく結合されていないようです。

select_kernel

import_cntk_ok


Workbench の New Project のテンプレートとして、”MNIST using CNTk” があります。

実際にこのプロジェクトを作って確認してみます。

new_cntk_mnist_project

[Files] を開いて、”cntk_mnist.py” を実行してみます。

mnist_run

しばらく待つと Job の状態が “Completed” になるはず。

mnist_completed

実行結果を見ると、学習の内容が分かります。

mnist_runs

Workbench のいいところは、結果を視覚的に確認する仕組みがあらかじめ組み込まれてるところですね。

かつ学習の履歴も保持しているし、学習モデルの管理・発行を DevOps に乗せることができるのもいい点です。

wb_runs_history


ただ、現在のバージョンでは(Preview なので機能的には足りていない部分もあります)、Workbench 内での実行では進捗が分からないこと。

Submitting → Starting → Running → Completed とステータスは変わるのですが、Running 中にどこまで進んだのかわかりません。ちょっと心配になります。

現時点では Workbench 内では実行中の進捗を知るすべはないため、Visual Studio Code を組み合わせて使うのがよさそうです。

Workbench はプロジェクト管理やデータの加工を行う、Visual Studio Code はスクリプトの編集やデバッグ実行という使い分け。

スクリプト表示画面にはちゃんと [Edit] ボタンがあります。これをクリックすると Visual Studio Code が起動します。

(※もちろん事前に Code をインストールしておき、Workbench でも 外部エディター設定 をしておく必要があります)

vscode_from_wb

これでスクリプトの編集もデバッグ実行もできます。実行中の print もちゃんと表示されます。

だったら「Visual Studio Code があればいいじゃないか」という気もしなくもないですが、今後の機能向上を期待して Workbench も使ってみましょう。

GPUなWindows PCでCNTKとTensorFlowとVisual Studio 2017とを共存させる方法 (2017年12月版) #cogbot #cntk

注意)本稿は、2017年12月時点の情報です。2018年4月以降は、こちら の記事を参照してください。

 


本稿は、Cogbot Advent Calendar 2017 に参加しています。

今回は、NVIDIA の GPUを積んだ Windows PC で、CNTKTensorFlowVisual Studio 2017 とを共存される方法を紹介します。
いくつかハマりポイントがあって、今回は全身で次々と落とし穴に落ちてしまったので、皆さんも同じようなケガをしないように手順を共有します。

もっとスマートな方法があるかもしれませんが、私は以下の方法で共存に成功しました。

続きを読む

「Azureで始める Deep Learning ~理論と実装 画像識別編~」@Azure Antenna (2017年12月5日) に参加しました #aajp #cntk

Azure Antenna に行ってきました。(2回目)

12月5日(火) に開催された「Azureで始める Deep Learning ~理論と実装 画像識別編~」への参加です。

セッションとハンズオンで、しっかり教えていただきました。

続きを読む

ML Studio や CNTK のハンズオンを始める前の準備 #cogbot

本稿は、Cogbot Advent Calendar 2017 に参加しています。

11月30日(木) 開催の「第9回 Cogbot 勉強会」参加の皆さん、おつかれさまでした。
今回は、CNTK (深層学習) と ML Studio (機械学習) がテーマの会で、ハンズオンの時間を設けました。
Tech Summit 2017 でも Cogbot ハンズオンのお手伝いをしました。

それを踏まえて。

ハンズオンに参加する方ということで、初めて or まだ馴染みがないことが多いわけです。
知っている人にはなんてことはないのに、初めての人にはわかりづらいのが、環境構築というかハンズオンを始めるための準備。

続きを読む