2016年12月21日 星期三

The Microsoft Cognitive Toolkit (CNTK)

正苦於 Linux 不太熟, GPU 還用不上的情境之下,
無意中發現 MicroSoft 也加入了 openSource 的戰局,提出以下的 ToolKit 想與 Theano 及 TensorFlow 抗衡。試玩了一下,好像還不錯,至少幫我成功用上了 GPU。

而且還順便玩到了 CIFAR-10 影像辨認資料庫,以及 sequence-to-sequence translation。
這2項正是一直想拿來當作 進階版的 PR 教程,放在這裡也順便當作本學期 PR 課程的 happy ending。



The Microsoft Cognitive Toolkit  (CNTK)




Microsoft's AI can now understand speech better than humans



https://github.com/Microsoft/CNTK


安裝檔在此: CNTK version 2.0 Beta 6 (Windows+Linux)

目前安裝在 Python3.4 之下,讓 Jupyter notebook 跑起來之後,
直接來到 http://localhost:8888/tree/Tutorials


【溫故】:

CNTK 103 Part A: MNIST Data Loader

CNTK 103: Part B - Feed Forward Network with MNIST



【知新】:

CNTK 201A Part A: CIFAR-10 Data Loader

CNTK 201B: Hands On Labs Image Recognition


https://www.cs.toronto.edu/~kriz/cifar.html

The CIFAR-10 dataset

The CIFAR-10 dataset consists 
of 60000 32x32 colour images 
in 10 classes, with 6000 images per class. 

There are 50000 training images and 10000 test images. 




【趕上】:

CNTK 204: Sequence to Sequence Networks with Text Data


The applications of sequence-to-sequence networks are nearly limitless. 
It is a natural fit for 
    machine translation (e.g. English input sequences, French output sequences); 
    automatic text summarization (e.g. full document input sequence, summary output sequence); 
    word to pronunciation models (e.g. character [grapheme] input sequence, pronunciation [phoneme] output sequence); 
    and even parse tree generation (e.g. regular text input, flat parse tree output).



【練習】

https://www.dropbox.com/sh/jtdkwldyergd6au/AACW5jYsBP88fSNZjcfyNIj4a?dl=0

CNTK_103A_MNIST_DataLoader.ipynb
CNTK_103B_MNIST_FeedForwardNetwork.ipynb

CNTK_201A_CIFAR-10_DataLoader.ipynb
CNTK_201B_CIFAR-10_ImageHandsOn.ipynb

CNTK_204_Sequence_To_Sequence.ipynb


【增廣見聞】


收集一些有名的影像辨認資料庫,到目前(2016年底),最好的辨識錯誤率。

http://rodrigob.github.io/are_we_there_yet/build/#datasets


Datasets who is the best at X ?


MNIST ,    err% = 0.21%

CIFAR-10, err%= 3.47%

CIFAR-100, err%= 24.2%

STL-10,       err%= 25.67%


#-------------------------------------------------------------

然後,就在睡前,發現: Google 的 TensorFlow,居然也支援 Windows 了,
在 Python 3.5 之下,把它安裝起來,把 Keras 的 Backend 改回 TensorFlow,也跑了 CIFAR-10 資料庫。

看到這些科技大頭彼此【搶地盤】,頗為有趣!

TensorFlow supports only 64-bit Python 3.5 on Windows. 
https://www.tensorflow.org/get_started/os_setup

【安裝 tensorFlow, Gpu 版本

1. 官網: https://www.tensorflow.org/get_started/os_setup#anaconda-installation

To install the GPU version of TensorFlow, enter the following command at a command prompt:
C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
可能會出現 bugs
此處有解決:  http://peacesky.cn/post/%E8%A7%A3%E5%86%B3%E5%AE%89%E8%A3%85Tensorflow%E6%97%B6%E7%9A%84setup-tool%E9%94%99%E8%AF%AF
  1. pip install --ignore-installed setuptools
重新 執行 官網的建議
C:\> pip install --upgrade https:....
成功!!


沒有留言:

張貼留言