C++の最近のブログ記事

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

このアーカイブについて

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

次のカテゴリはRNN-LSTMです。

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

カテゴリ

ウェブページ

サイトナビ