2018年6月アーカイブ

公開されている、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 のキャプチャー画像で、
物体の検出&認識できるようにしてみました。

公開されている、TensorFlow Object Detection API を USBカメラ、Mjpg-streamer での利用方法を試してみます。
GitHub で公開されている、object_detectioon_tutorial.ipynb をベースに、 USBカメラ、Mjpg-streamer での利用をためしてみました。
https://github.com/tensorflow/models/tree/master/research/object_detection

サンプルは、ローカルの画像を2つ読み込んで、試していますが、
これを、 USB カメラ、mjpg-steamer から取り込んだキャプチャー画像に変えてみます。

object_detectioon_tutorial.ipynb が実行できる環境が整えば、結構簡単です。
Windows10 + Tensorflow-1.5.0 GPU +Python3.5 + OpenCV3.4 (Anaconda で全て構築しています)
Tensorflow は、新しいバージョンが出ていますが、GPU版は、1.5.0 をつかいます。

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 でも同じ様に使えます。
学習、評価データのアクセス以外のモデルの作成や、学習の部分は、オリジナルを使います。

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

このアーカイブについて

このページには、2018年6月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2018年4月です。

次のアーカイブは2018年9月です。

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

カテゴリ

ウェブページ

サイトナビ