ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
--- ROS2 ロボット自律走行の経路計画の補助に、機械学習(Transformer、LSTM)を使う。 ----
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#8 Transformer で経路計画をする。 の続きです。
Transformer で、学習データ 1000個作って、学習させてみたが、1000個では、まるっきり足りないようで、 val=0.7 を切らない。
業を煮やして、それならと、 Speech to text の LSTM を同じ様に学習させてみました。
こちらは。1000件ほどのデータで、うまく学習できました。
これは、凄い!!
こんなにうまく行くとは、予想できませんでした。
本当に、うまく予測できているのか、今も、半信半疑です。
余りの感激に、涙がちょちょでるぞね!!
github に公開しました。
tosa-no-onchan/opp_with_lstm
1. 開発環境
PC: Ubuntu Mate 22.04
Python 3.10.12
virtual_env
tensorflow 2.16.2
keras 3.6.0
Kerasの最近のブログ記事
Keras V3 Object detection with Vision Transformers を試してみた。
Object detection with Vision Transformers
サンプルは、飛行機の単一の Object detectionだが、
これは、もしかして、草刈りロボットの草むらの判定に使えるのでは、なかろうか。
学習させたあと、vit_object_detector.weights.h5 ができるので、
vit_object_detector.load_weights('vit_object_detector.weights.h5')
で、weights は読み込ませたが、
で、 モデルのロードは、うまくいかない。
下記エラーが出てくる。
Traceback (most recent call last):
File "/home/nishi/kivy_env/lib/python3.10/site-packages/keras/src/ops/operation.py", line 208, in from_config
return cls(**config)
TypeError: Patches.__init__() got an unexpected keyword argument 'name'
Keras V3 Automatic Speech Recognition with Transformer を試す。
前回の、Ubuntu 22.04 Tensorflow GPU Install. で、Tensorflow 2.16 GPU版環境ができたので、
今回は、Keras V3 の AudioData のサンプルの、Automatic Speech Recognition with Transformer を試してみた。
プログラム自体は、Keras V2 版とまるっきり同じみたいぞね。
ソースサンプルは、
transformer_asr.py
先頭に下記、追加を入れれば、動きます。
Keras ASR with CTC を試してみた。
Automatic Speech Recognition using CTC
当初は、Automatic Speech Recognition with Transformer を試してみたけれど、
余り、loss、val_loss が改善しないので、こちらにしてみました。
注) 但し、こちらの方が、学習させるのは、軽いみたいなので、もう少し性能が良ければ...
環境:
Windows11
Python 3.10.6
tensorflow-gpu 2.10.0
GTX-1070
cuda toolkit 11.2
cuDNN SDK 8.1.0
注) GTX-1070 だと、1 epoch 20分程かかる。
GeForce RTX 2080 Ti GPU だと、5-6 分だとさ。
今回は、Keras YOLO v3 学習済モデルを、Tensorflow Lite に変換して動かす所迄、試してみます。
Keras YOLO v3 は、下記になります。
https://github.com/qqwweee/keras-yolo3
開発環境
OS: Windwos10
GPU: GeForece GTX 1070 8GB
Anaconda
Python3.6
TensorFlow 1.15.0 GPU
Keras 2.3.1
注1) 今回は、TensorFlow 1.15.0 を使いました。
TensorFlow 1.14.0 では、Tensoflow Liteへの変換が上手く行きませんでした。
注2) Keras は、オリジナルを使っています。
tensorflow.keras を敢えて使っていません。但し、Tensorflow Lite へ変換するには、
基本は、tensorflow.keras の様ですが?
Keras CNN で 音の分類 #7
ディープラーニングで音声分類 のサンプルが出ていたので、試してみましたの #7です。
前回の #6 に続いて、Inception V3 学習済モデルを Tensorflow Lite に変換して、Coral Edge TPU USB で使えるように、
Quantization 化を試してみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1070 8GB
Anaconda
Python3.6
TensorFlow 1.15.0 GPU
Keras 2.3.1
注1) 今回は、TensorFlow 1.15.0 を使いました。
TensorFlow 1.14.0 では、Tensoflow Liteへの変換が上手く行きませんでした。
また、こちらの方が、Tensorflow Lite の実行速度が速いきがします。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
参考は、下記ページをさせて頂きました。
nb.oの日記:Edge TPUで独自モデルを作る(その2)
https://coral.ai/docs/edgetpu/models-intro/#quantization
→ Retrain a classification model using post-training quantization (for TensorFlow 1 and 2)
Keras CNN で 音の分類 #6。update 2020.5.29
ディープラーニングで音声分類 のサンプルが出ていたので、試してみましたの #6です。
今度は、Inception V3 を使っての学習ができたので、学習済モデルを、Tensorflow Lite に変換して試してみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1070 8GB
Anaconda
Python3.6
TensorFlow 1.15.0 GPU
Keras 2.3.1
注1) 今回は、TensorFlow 1.15.0 を使いました。
TensorFlow 1.14.0 では、Tensoflow Liteへの変換が上手く行きませんでした。
また、こちらの方が、Tensorflow Lite の実行速度が速いきがします。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
Keras CNN で 音の分類 #5。update 2020.5.25
ディープラーニングで音声分類 のサンプルが出ていたので、試してみましたの #5です。
変更
1) 学習データのメルスペクトグラム方法を、変更しました。 by nishi 2020.5.25
Keras CNN Sound Classify
で、オリジナルができたので、同じ要領で、今度は、
Inception V3 を使って、同じ学習データ、テストデータを使って試してみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1070 8GB
Anaconda
Python3.6
TensorFlow 1.14.0 GPU
Keras 2.3.1
注1) TensorFlow 1.14.0 を使っているのは、 K210 の YOLO v2 等で、
使っているので、他意はありません。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
手順は、上記ページに従って行いました。
Keras CNN で 音の分類 #4。update 2020.4.20
ディープラーニングで音声分類 のサンプルが出ていたので、試してみましたの #4です。
変更
1) 学習データを、変更しました。 by nishi 2020.4.17
2) sound-predict3-mobile-v2.py で、4096Hz 以上をブーストしました。 by nishi 2020.4.19
3) 学習データ毎のエポック数を 5 → 4 に変更。 by nishi 2020.4.20
Keras CNN Sound Classify
で、オリジナルができたので、同じ要領で、今度は、
Keras MobileNet V2 を使って、同じ学習データ、テストデータを使って試してみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1050 4GB
Anaconda
Python3.6
TensorFlow 1.14.0 GPU
Keras 2.3.1
注1) TensorFlow 1.14.0 を使っているのは、 K210 の YOLO v2 等で、
使っているので、他意はありません。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
手順は、上記ページに従って行いました。
Keras CNN で 音の分類 #3。
ディープラーニングで音声分類 のサンプルが出ていたので、試してみました。
Keras CNN Sound Classify
で、オリジナルができたので、同じ要領で、今度は、
Keras MobileNet を使って、同じ学習データ、テストデータを使って試してみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1050 4GB
Anaconda
Python3.6
TensorFlow 1.14.0 GPU
Keras 2.3.1
注1) TensorFlow 1.14.0 を使っているのは、 K210 の YOLO v2 等で、
使っているので、他意はありません。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
手順は、上記ページに従って行いました。
Keras CNN で 音の分類 #2。
ディープラーニングで音声分類 のサンプルが出ていたので、試してみました。
Keras CNN Sound Classify
で、学習済データが出来上がったので、
アプリケーションとして、
Window10 の MIC から音を取り込んで、
上記分類器にかけるプログラムを作ってみました。
環境
Windows10
マイク
USB カメラ / ロジクール ウェブカメラ C270n
↓
XIAOKOA PCマイク USBマイク
Keras CNN で 音の分類。
ディープラーニングで音声分類 のサンプルが出ていたので、試してみました。
しかし、下の方も同じ内容だが、改造の途中経過が記載されている。
畳込みニューラルネットワークの基本技術を比較する ー音でもやってみたー
オリジナルは、学習のプログラムが全て書かれていなかったので、
自分で適当に考えて完成させてみました。
開発環境
OS: Windwos10
GPU: GeForece GTX 1050 4GB
Anaconda
Python3.6
TensorFlow 1.14.0 GPU
Keras 2.3.1
注1) TensorFlow 1.14.0 を使っているのは、 K210 の YOLO v2 等で、
使っているので、他意はありません。
注2) Keras は、オリジナルを使っています。
tensorflow.python.keras を敢えて使っていません。
手順は、上記ページに従って行いました。