2024年12月アーカイブ

Opp TensorFlow 2.16.2 Lite C++ library build.

Opp 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 が、カレントディレクトリーにできる。

このアーカイブについて

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

前のアーカイブは2024年11月です。

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

カテゴリ

ウェブページ

サイトナビ