LoginSignup
0
0

More than 3 years have passed since last update.

【Jetson Nano】TensorFlow Probabilityをインストール

Last updated at Posted at 2021-04-02

Jetson NanoにTensorFlow Probabilityをインストールするには、工夫が要ります。
その詳細をstep by stepで記します。

そもそも、「Jetson NanoになんでTensorFlow Probabilityが必要なの?」と思われるかもしれません。
例えば以下のケースで必要です。
JetRacerを自走させるモデルをTensorflowで作成している。
行動は連続値なのでガウス方策を採用、その多次元正規分布の確率密度関数にTensorFlow Probabilityを使用している。
などです。

問題と対処

普通に
「sudo pip3 install tensorflow-probability」
とやってしまうと、途中まで進行しますが、dm-treeの自動ビルドのところで、
「bazelってなんじゃ?そんなファイルもディレクトリも無いぞ!」
と怒られます。

エラーメッセージ該当箇所
bazel build //tree:_tree --symlink_prefix=build/temp.linux-aarch64-3.6/bazel- --compilation_mode=opt
unable to execute 'bazel': No such file or directory

上記エラーメッセージ中に「bazel build」とあり、Bazelでビルドしようとしていることがわかります。
確かに、TensorFlow Probabilityの公式インストールガイドには、
Bazel ビルドシステムが必要」と明記してあります(2021年3月末時点)。

よって、
Bazelが無いのが問題なので、事前にBazelをインストールする
ということになります。

概要

前提

適合しているバージョンのTensorflow本体がインストールされていること。
依存関係はここで確認します。

JetPackは4.5.1で実行しました。

大まかな手順

1.curlをインストール
  Bazelのインストールスクリプト内でcurlを使用しているので。

2.Java JDK8をインストール
  Bazelが依存しているため。

3.Jetson Nanoに適合したBazelをインストール

4.TensorFlow Probabilityをインストール

詳細

1.curlをインストール

Bazelのインストールスクリプト内でcurlを使用しているので、事前にインストールします。

sudo apt update
sudo apt install curl

2.Java JDK8をインストール

Bazelが依存しているJava JDK8をインストールします。

sudo apt install openjdk-8-jdk

3.Jetson Nanoに適合したBazelをインストール

実質、ここがキモとなります。
Bazelのビルド済バイナリとインストールスクリプトが置いてあるGitHubのリポジトリからcloneします。
カレントディレクトリに、「Bazel_bin」というディレクトリ(リポジトリ)ができます。
このリポジトリには、各バージョン、各アーキテクチャ用のインストールスクリプトがあります。
その中で、
バージョンは2.0.0、
Jetson Nanoに適合している、/Ubuntu1804_JetsonNano_aarch64/openjdk-8-jdk/ 
内のインストールスクリプトを走らせます。

git clone https://github.com/PINTO0309/Bazel_bin.git
cd Bazel_bin/2.0.0/Ubuntu1804_JetsonNano_aarch64/openjdk-8-jdk/
./install.sh

実行後、/usr/local/bin/にbazelという名のバイナリファイルができているはずです。

4.TensorFlow Probabilityをインストール

これで準備完了しました。
TensorFlow Probabilityをいつものように普通にインストールします。

sudo pip3 install tensorflow-probability

今度は怒られることもなく、すんなり終了するはずです。

参考・利用させていただいたリソース

【MediaPipe】Jetson Nanoで環境構築し、CPU/GPUで動かしてみた(v0.7.5)
  Bazelのインストール方法の参考にしました。ありがとうございました。

Bazelのビルド済バイナリとインストールスクリプトが置いてあるGitHubのリポジトリ
  「Katsuya Hyodo」さんのリポジトリです。Bazelのビルド済バイナリとインストールスクリプト、しかもJetson Nanoドンピシャのものがあって、本当に助かりました。これが無ければもっと苦労していました。ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0