TensorFlowばかりで余り目立っていないが、Microsoftの機械学習ツールキットのCNTKのv2.0がリリースされた。
CNTKって、Cognitive Toolkitの略称なのか。初めて知った気がする。
The Microsoft Cognitive Toolkit | Microsoft Docs
CNTKが最初にリリースされたとき、日本人では珍しくやり込んだので、結構本ブログのアクセス数に貢献してくれている。 こうなったら、CNTK v2.0も試行してみるしかないだろう!
CNTKの特徴って?
CNTKの特徴といえば、何といってもその速度だといわれている。
Reasons to Switch from TensorFlow to CNTK | Microsoft Docs
Speed. CNTK is in general much faster than TensorFlow, and it can be 5-10x faster on recurrent networks.
TensorFlowのようにPython Interfaceを持たないCNTKは、ある意味TensorFlowよりも高速かもしれない。 ただし、CNTKの初期リリースのころとは違い、TensorFlowはGPUもサポートしているし、XLAによるバイナリ化も行える。そういう意味では、CNTKはどのくらい進化したのか気になる。
CNTKのインストール
以下を参照する。
Setup CNTK on your machine | Microsoft Docs
sudo apt-get install openmpi-bin pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-linux_x86_64.whl
あれ?失敗した。
pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp35-cp35m-linux_x86_64.whl cntk-2.0-cp27-cp27m-linux_x86_64.whl is not a supported wheel on this platform.
よくよく見てみると、私の環境はUbuntu-16.04でPython-2.7だった。別のパッケージをインストールしなければならないらしい。
sudo pip install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl Collecting cntk==2.0 from https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl Downloading https://cntk.ai/PythonWheel/CPU-Only/cntk-2.0-cp27-cp27mu-linux_x86_64.whl (109.5MB) 100% |████████████████████████████████| 109.5MB 16kB/s Collecting enum34>=1.1.6 (from cntk==2.0) Downloading enum34-1.1.6-py2-none-any.whl Collecting scipy>=0.17 (from cntk==2.0) Downloading scipy-0.19.0-cp27-cp27mu-manylinux1_x86_64.whl (45.0MB) 100% |████████████████████████████████| 45.0MB 40kB/s Collecting numpy>=1.11 (from cntk==2.0) Downloading numpy-1.12.1-cp27-cp27mu-manylinux1_x86_64.whl (16.5MB) 100% |████████████████████████████████| 16.5MB 113kB/s Installing collected packages: enum34, numpy, scipy, cntk Successfully installed cntk-2.0 enum34-1.1.6 numpy-1.12.1 scipy-0.19.0
インストールできた。一応、Pythonを起動してパッケージがロードできるか確認しておこう。
$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cntk as C
上手く行ったようだ。