TensorFlow 2の最近のブログ記事

Opp TensorFlow 2.16.2 Lite C++ library build.

Opp(Obstacl Path Planner) TensorFlow 2.16.2 Lite C++ library build.

TensorFlow 2.16.2 Lite C++ library build. の続き。

前回に続いて、今回は、本題の ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
で作成した学習モデルを、C++ 及び ROS2 C++ で簡単に predict できるライブラリーを作成する。

環境
PC and Orange Pi 5 Armibian Jummy
Ubuntu 22.04
Tensorflow 12.6.2
ROS2 Humble

/home/nishi --> /home/your-id に変えとうせ。

1. ROS2 のプログラムから使える、opp_tflie.cpp を作成する。
ROS2 global costamap の一部を、cv::Mat に取り込んで、class Opp_Tflite に渡せば、
opp_with_lstm または、opp_with_transformer のモデルで、predict して、その結果を、
std::vector<u_int8_t> y_pred に返してくれるもので、これをライブラリとして使えるようにする。

1.1 ライブラリ libopp_tflite.a のビルド。

$ make -fMakefile-Archive-opp_tflite
$ make -fMakefile-Archive-opp_tflite install
$ make -fMakefile-Archive-opp_tflite clear

1.2 CMakeLists.txt で、
find_package(Tflite REQUIRED)
find_package(Opp_tflite REQUIRED)
をすれば、同じく簡単にリンケージができるようにします。
cmake/FindOpp_tflite.cmake

TensorFlow 2.16.2 Lite C++ library build.

TensorFlow 2.16.2 Lite C++ library build.

TensorFlow 2.16.2 Lite C++ library をソースからビルドしてみた。

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。 で、Tensorflow Lite 用の a.model.tflite が出来たので、C++ から実行する事になるので、試してみた。

ソースのダウンロードは、TensorFlow 2.16.2 C++ library build と同じなので、そちらを参考にしてください。

環境:
PC and Orange Pi 5 Armibian Jummy
Ubuntu 22.04
Tensorflow 12.6.2
Bazel 6.4

参考にしたのは、
CMake を使用した TensorFlow Lite の構築

1. build
ソースが、
~local/tensorflow/tensorflow-2.16.2
に展開済みとします。
$ cd ~local/tensorflow/tensorflow-2.16.2
$ mkdir build-nishi
$ cd build-nishi
$ cmake ../tensorflow/lite
$ cmake --build . -j3

注) build-essential が必要。まだの場合は。
$ sudo apt install build-essential

これで、libtensorflow-lite.a が、カレントディレクトリーにできる。

TensorFlow 2.16.2 C++ library build

TensorFlow 2.16.2 C++ library build

TensorFlow 2.16.2 C++ library をソースからビルドしてみた。

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。 で、最終的には、C++ から実行する事になるので、試してみた。

参考にしたのは、
ソースからビルドする
Ubuntu20.04 LTS上で、TensorFlow 2.3.1をソースからビルドし、C++言語の共有ライブラリを作成する
tensorflow 2.0 c++ apiをcmakeで利用する

1. 開発環境
PC: Ubuntu Mate 22.04
Virtual_env
python 3.10.12
bazel 6.4.0
llvm-14

追加パッケージのインストール。
下記エラーが出たので、


https://stackoverflow.com/questions/16661167/fatal-error-when-compiling-llvm-clang-cstddef-file-not-found より、
$ sudo apt install libstdc++-12-dev

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

先頭に下記、追加を入れれば、動きます。


TensorFlow 2.10.0 RNN - LSTM による、Speech Recognition #2

TensorFlow 2.10.0 RNN - LSTM による、Speech Recognition #2

TensorFlow 2.10.0 RNN - LSTM による、Speech Recognition の続きです。

Introduction to speech recognition with TensorFlow が、性能が良かったので
今回は、これをベースに、日本語で試してみます。

日本語の為のデータの準備は、下記を参考にさせて貰いました。
TensorFlow の transformer を使った音声認識(ASR)のプログラムを改修して日本語学習させてみました。

環境:
Windows11
Python 3.10.6
tensorflow-gpu 2.10.0
GTX-1070
cuda toolkit 11.2
cuDNN SDK 8.1.0

Orange pi 5 Armbian で NPU を使って、yolo を試す。

Orange pi 5 Armbian で NPU を使って、yolo を試す。

Orange Pi5のNPUを使用してyolo(高速?)を動かしてみる(rknn-toolkit2) と言うのがあったので、これを参考に、NPU yolo を試してみた。

大元のクイックスタートの方が参考になるみたい。
github.com/airockchip/rknn-toolkit2

1. 環境の構築。
Armbian 上に構築します。
 Python 3.10.6
 tensorflow 2.8.0 (最新は、2.12.0 )

1) python3 をインストール。
$ sudo apt install python3 python3-dev python3-pip

2) 必要、ライブラリーのインストール。
$ sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6 \
libgl1-mesa-glx libprotobuf-dev gcc

3) virtualenv を用いて、Tensorflow2 環境を、Armibian 上に作ってみます。
$ pip3 install virtualenv ---user

4) kivy_env と言う仮想環境(名称は、なんでもOK) を作ります。
$ python3 -m virtualenv kivy_env
仮想環境を有効化
$ source ~/kivy_env/bin/activate

5) 仮想環境に、tensorflow をインストール。
(kivy_env) :$ python -m pip installl tensorflow==2.8.0

チェック。
(kivy_env) :$ python
>>> import tensorflow as tf
>>> print(tf.reduce_sum(tf.random.normal([1000,1000])))
tf.Tensor(-390.70236, shape=(), dtype=float32)
>>> exit()

TensorFlow 2.10.0 RNN - LSTM による、Speech Recognition

TensorFlow 2.10.0 RNN - LSTM による、Speech Recognition

RNN - LSTM による、Speech Recognition 例が有ったので、Windows11 TensorFlow-GPU 2.10.0 で試してみた。
Introduction to speech recognition with TensorFlow

GPU (GTX-1070) が入っているのが、Windows11 だったので、TensorFlow2 をバージョンアップして、 TensoFlow2-GPU 2.10.0 で試してみました。
当初、TensoFlow 2.12.0 の GPU 版を使うとしていましたが、Windows11 TensorFlow2 GPU 版は、2.10.0 が最後みたいな記述があったので、
こちらにしました。

環境:
Windows11
Python 3.10.6
tensorflow-gpu 2.10.0
GTX-1070
cuda toolkit 11.2
cuDNN SDK 8.1.0

Windows11で、最新の tensorflow gpu版は、どうやら仮想環境(wsl)下で、ubuntu 等を使って、gpu版を使うのが前提のようです。
最初から、ubuntu 等にすれば良いみたいだ。

train.py で、21 epoch 程学習させて、inferencModel.py で、テストしてみました。
下記が、inferencModel.py を、少しいじって、入力 文章(speach) と、それの、判定結果を出してみました。



>text: が、入力音の文章
>>>>>: が、それに対する、判定結果

結構、すごい。
でも、これは、日本語には、対応していないだろうね。

このアーカイブについて

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

前のカテゴリはTensorFlowです。

次のカテゴリはTensorRT 5.1です。

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

カテゴリ

ウェブページ

サイトナビ