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

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

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 にしないといけないみたいです。

TensorFlow cifar10_eval.py のオリジナル画像で試す。

TenserFlow のサンプルプログラムの CIFAR-10 で
cifar10_eval.py で、自分で作った画像を使って評価するプログラム例が出ていたので、
試してみました。

参考にさせてもらったのは、こちらのページの
自前の画像で予測してみる ですが

http://blog.suprsonicjetboy.com/entry/2017/04/30/204951

実際に試してみると、saver = tf.train.Saver(variables_to_restore) エラーになりました。


なにか、Restore した形式と、合致していない云々...のエラーのような?


仕方が無いので、自分で色々トライ・アンド・エラーで試して、何分、TensorFlow の勉強を始めて、1ヶ月そこそこなので、何もわからず、しまいには、力仕事になりましたが、
どうにか実行できるようになりました。

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

アイテム

  • ESP-WROOM-02-G`PS-2017.10.21-1l.jpg
  • PIC32MX_hid_basic_moouse_bredboard2_2017.10.15.jpg
  • PIC32MX_hid_basic_moouse_bredboard1_2017.10.15.jpg
  • PIC32MX hid_basic_mouse_usart_pps-output-settings_2017_10_14.jpg
  • PIC32MX hid_basic_mouse_usart_pps-input-settings_2017_10_14.jpg
  • PIC32MX hid_basic_mouse_usart_pin-table_2017_10_12.jpg
  • PIC32MX hid_basic_mouse_usart_pin-diagram_2017_10_12.jpg
  • PIC32MX hid_basic_mouse_usart_pin-settings_2017_10_12.jpg
  • PIC32MX hid_basic_mouse_usart_clock-diagram_2017_10_12.jpg
  • PIC32MX hid_basic_mouse_usart_cirkit_2017_10_12.jpg

ウェブページ

サイトナビ