みらいテックラボ

音声・画像認識や機械学習など, 週末プログラマである管理人が興味のある技術の紹介や実際にトライしてみた様子などメモしていく.

Jetson AGX Xavierを試してみる(1)

NVIDIA社のJetson AGX Xavierを触る機会を得たので, 環境設定してデモを動かしてみた.

Jetson Nanoとは設定方法が少し異なるところもあるが, 基本的には公式サイトの手順に沿ってやれば問題ない.
一応, メモとしてまとめておく.


[関連記事]
・Jetson AGX Xavierを試してみる(1)
Jetson AGX Xavierを試してみる(2)


1. セットアップ
Jetson AGX Xavierは, Ubuntu18.04がデフォルトでインストールされているが, 画像処理やDeep Learningなどの開発環境を整えるには, JetPackをインストールするのが手っ取り早い.
ちなみにJetPackとは, Jetson向けにCUDA, cuDNN, TensorRT, OpenCV, DeepSteamなどをパッケージ化したものである.

1. 1 JetPackインストール[1][2]
Jetson Nanoでは, SD Cardにイメージを焼き込んでいたが, Jetson AGX XavierではホストPCとUSB接続し, NVIDIA SDK Managerを使用して, 「JetPack SDK」のイメージを書き込む.
ただし, ホストPCは物理Linuxマシン(Ubuntu Linux x64 version 18.04 or 16.04) でないとダメなようだ.
インストールについては, 公式サイトの他に, いくつか記事[3][4]で紹介されており, 特にハマることなくインストールできたのでそちらを参照してほしい.

[ホストPC環境]


1.2 TensorFlowインストール[5]
こちらも公式サイトの手順で簡単にインストールできる.
依存するパッケージをインストールした後, 最新のTensorFlowをインストールした.

$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow

TensorFlow : tensorflow 2.4.0+nv21.5


1.3 HELLO AI WORLD NVIDIA JETSONインストール[6]
HELLO AI WORLDには, DNNビジョンライブラリを使った多くのサンプルが含まれている.
TensorRTの使い方の参考となるので, インストールしてデモを動かし見ようと思う.
GitHubサイトの手順に沿って, ソースからビルドし, インストールを行った.
こちらも特に問題もなく, インストール完了!!


2. 動作確認
開発環境のセットアップ後, 簡単な動作確認を行ってみた.

2.1 OpenCV + GStreamer
JetPackに含まれているOpenCVはバックエンドにGStreamerを使用できるようにビルドされている.
そこで, 簡単に試してみる.
[コード:test_gst.py]

import cv2

src = 'videotestsrc ! videoconvert ! appsink'

def main():
    cap = cv2.VideoCapture(src)

    while(cap.isOpened()):
        ret, frame = cap.read()
        if not ret:
            break
        cv2.imshow('GStreamer Test',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    cap.release()
    cv2.destroyAllWindows()

if __name__ == '__main__':
    main()

[実行結果]


2.2 Object Detection
HELLO AI WORLDのサンプルに含まれるObject Detectionを試してみる.

$ cd jetson-inference/python/examples
$ ln -s ../../data/images .
$ ./detectnet.py --network=ssd-mobilenet-v2 images/peds_0.jpg images/test/output.jpg

[実行結果]

デモなども大きな問題もなく, 動作している.
そして, 何よりも速い!!

----
参照URL:
[1] How to Install JetPack :: NVIDIA JetPack Documentation
[2] NVIDIA SDK Manager
[3] NVIDIA SDK Manager で Jetson をセットアップ
[4] NVIDIA AGX Xavierのセットアップ | ロボットシステムデザイン研究室
[5] Installing TensorFlow For Jetson Platform :: NVIDIA Deep Learning Frameworks Documentation
[6] dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.