CNTK 2.4の最近のブログ記事

公開されている、CNTK 2.4 Object Detection FasterRCNN の USBカメラ、Mjpg-streamer での利用を考えてみました。
https://docs.microsoft.com/en-us/cognitive-toolkit/Object-Detection-using-Faster-R-CNN

https://github.com/Microsoft/CNTK/tree/master/Examples/Image/Detection/FasterRCNN

cntk-samples-2-4\Examples\Image\Detection\FasterRCNN ディレクトリーの中の
run_faster_rcnn.py を実行すれ、モデルの学習が出来て、その後、サンプル画像で、
オブジェクトの検出&認識を試せますが、これが、余りにもちゃっちいので、つまりません。

なので、アプリケーションでの利用を想定して、USB カメラ、mjpg-steamer のキャプチャー画像で、
物体の検出&認識できるようにしてみました。

CNTK_106A_LSTM_Timeseries_with_Simulated_Data の改造

CNTK_106A_LSTM_Timeseries_with_Simulated_Data を勉強を兼ねて改造してみました。

改造の目的は、最後の学習済みモデルを使った確認方法を変えてみます。
新しく取り入れる確認方法は、
『詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理』 巣籠悠輔 著 
第5章リカレントニューラルネットワーク -> 5.1.4.2 TensorFlow による実装
に出ている方法を取り入れてみます。

違いは、オリジナルは、確認のために使う入力のサイン波データを、全てトレーニング用の元データを使いますが、後者の方は、入力の最初の数ステップ(N+M-1)は、元のオリジナルのサイン波形を使いますが、その後は、全て、モデルからの予測データを入力にフィードバックさせて、サイン波を生成している点です。

 

CNTK_201B_CIFAR-10_ImageHandsOn の改造

CNTK2.5 のチュートリアルのプログラム CNTK_201B_CIFAR-10_ImageHandsOn を学習データのアクセス部分を、
keras.datasets.cifar10 ライブラリーを使う方法に変えてみました。

CNTK_201B_CIFAR-10_ImageHandsOn を色々試していましたが、何回か実行する度に、どういう訳か、Windows10 のディスクアクセスが 100% になるので困っていましたが、
データアクセスの部分を Keras でも出来る様なので、早速試してみました。

それでは、早速コードを記載してみます。こらの方が、オリジナルより理解しやすいのでは?

CNTK_103C_MNIST_MultiLayerPerceptronの改造

CNTK2.5 のチュートリアルのプログラム CNTK_103C_MNIST_MultiLayerPerceptron を学習データのアクセス部分を、
Scikit-learn のライブラリーを使う方法に変えてみました。
参考にしたのは、

『詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理』 巣籠 悠輔[著] 
第4章 ディープニューラルネットワーク (p143) の、sklearn を使った MNIST データの読み込みです。

CNTK_103C_MNIST_MultiLayerPerceptron のオリジナルは、CNTKの関数を使った方法が記載されていますが、
Scikit-learn のライブラリーを使うと超簡単なようです。
また、Scikit-learnの方法だと、TensorFlow,Keras でも同じ様に使えます。
学習、評価データのアクセス以外のモデルの作成や、学習の部分は、オリジナルを使います。

それでは、早速コードを記載してみます。こらの方が、オリジナルより理解しやすいのでは?

CNTK 2.5 の勉強も少しは、こなしたので、今までの勉強を生かして、
具体的な、システムへの応用として、
「cntk 2.5 を使った砂防ダムの監視カメラによる水量の観測から、鉄砲水発生を予測」
なるものを考えてみました。

今はまだ、実現可能性を考えずに、只単純に、こんなシステムが出来ればとの、発案です。
どのような物かと言えば、

CNTK-2.5 GPU版 Windows10+Python3.5 でのトラブルの件

Microsoft の Cognitive Toolkit の新版 cntk2.5 GPU版 が出たので試してみました。
環境は、Windows10 Python3.5(Anaconda3-4.3.1 64bit) です。

インストールしたのは、Python Only 版で、Python-only installation を参考に 先に、
GPU環境(https://docs.microsoft.com/en-us/cognitive-toolkit/setup-gpu-specific-packages)を
インストールした後

Anaconda で、cntk2.4 とは別のチャネル(cntk25-py)を作って、通常の手順でインストールしましたが。
>activate cntk25-py
>python
>>>import cntk でエラーになります。

CNTK_201B_CIFAR-10_ImageHandsOn の Minibatch data の表示

CNTK_201B_CIFAR-10_ImageHandsOn の中で使われている、
Minibatch Data の内容を自分で表示する方法がわかったので記載してみました。

CNTK 2.4 CNTK_201B_CIFAR-10_ImageHandsOn の不具合

CNTK 2.4 で、チュートリアルで公開されている、CNTK_201B_CIFAR-10_ImageHandsOn.jpynb を
試してみましたが、2点ほどトラブルが在ったので記載しました。

1.学習率がチュートリアルの画面で示されている様には良くならない点がありました。


上記 C.learning_parameter_schedule() のパラメータが、変わったようです。
epoch_size=epoch_size にしないといけないみたいです。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちCNTK 2.4カテゴリに属しているものが含まれています。

前のカテゴリはC++ CGIです。

次のカテゴリはCUDA Programmingです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ