Microsoft Cognitive Toolkit (CNTK) でGPU 優先/CPU 優先を切り替える方法

突然ですが、AI ブームですね。

これまで Cogbot コミュニティで、Cognitive Services + Bot Framework に関連した活動をしてきましたが、ブームに乗って、私も Microsoft Cognitive Toolkit (CNTK) を始めました。(本当に始めたばかり・・・)

PC を用意しました、GPU対応の CNTK をインストールしました、まではいいのですが、Tutorial を実行しても、どうも GPU を使っているように見えません。

CNTK を始めたばかりの人限定の情報ですが(かつ NVIDIA の GPU を載せた PC を使っている人限定)、自分が悩んだ GPU を優先する方法の紹介。

ついでに CPU を優先する方法も紹介します。

※あえて CPU を使う理由はありませんが、人に説明する時に「ほら、こんなに違うでしょ」という話には使えるかと。


■ 対象のバージョン等の情報

対象のバージョンは以下の通りです。

  • Anaconda 3 ・・・これを書いている時点では Windows 版 4.3.21 (Python は 3.6)
  • CNTK 2.2 ・・・Python-only Installation

Anaconda 3 は Visual Studio 2017 でインストールしました。CNTK については GPU wheel を pip インストールしただけ。

CUDA 周りは全く気にせずに環境が作れました。強い。

■ GPU を優先する方法


from cntk.device import gpu, try_set_default_device

try_set_default_device(gpu(0))

cntk_gpu_perf

■ (ついでに) CPU を優先する方法


from cntk.device import cpu, try_set_default_device

try_set_default_device(cpu())

cntk_set_gpu

簡単ですが、知らないと PC のせっかくのパワーを活用できません。

これで楽しく深層学習しましょう。


しばらくブログを書けずにいました。

復活の一発目が CNTK とは・・・w