ソリューション事業部の遠藤です。
TensorRT やってみたシリーズの第2回です。
今回は、TensorRT のインストール手順について説明します。
Tesla(GeForce) 環境へのインストール手順
一般的なGPU搭載PC環境の場合、数コマンドでインストールが可能です。
前提条件として、以下の項目を想定しています。
- NVIDIA GPU がインストールされた amd64 マシンで、Ubuntu 16.04 がインストールされていること
- NVIDIA ドライバ、CUDA、cuDNN 等が一通りインストールされていること
インストール手順は以下のとおりです。
- NVIDIAのダウンロードページ から TensorRT のパッケージをダウンロードする
- $ sudo dpkg -i nv-tensorrt-repo-ubuntu1604-ga-cuda8.0-trt3.0.2-20180108_1-1_amd64.deb
- $ sudo apt update
- $ sudo apt install tensorrt
以上でインストールは完了です。簡単ですね!
Jetson 環境へのインストール手順
Jetson TX1/TX2 に TensorRT をインストールする場合は、Jetson 公式のインストーラである JetPack を利用します。JetPack を用いることで、Jetson 内蔵の eMMC に OS を書き込み、必要なライブラリ群をまとめてインストールすることができて便利です。
Step 0: 事前準備
JetPack を実行するためには、Jetson のほかに JetPack 実行ホスト用の Ubuntu 環境が必要となります。この Ubuntu 環境は基本的には仮想マシンで問題ありませんが、場合によって eMMC の書き込みがうまくできない場合があります。その際は、物理マシンを用意してください。
- Ubuntu 16.04 入りの VM or 物理マシンを用意する
- デフォルトではホスト側に OpenCV をインストールします。OS 側でインストールしたものとバッティングする場合があるので、インストールしたてのフレッシュなVMを使うことをお勧めします。
- microUSB ケーブルで、ホストPCと Jetson を接続する
- Jetson に LAN, 電源ケーブルを刺し、電源を入れる
Step 1: JetPack をダウンロードする
JetPack は NVIDIA のダウンロードページ からダウンロードできます。
JetPack には以下の3バージョンがあります。Jetson TX1 向けであれば 3.1、TX2 向けであれば 3.2 DP が最新です。リンクをクリックすると、JetPack がダウンロードできます。
Step 2: JetPack をインストールする
Step 1 でダウンロードした JetPack のインストーラを、ホスト上の適当な場所に配置します。なお、インストーラを実行すると様々なファイルが展開されるため、一段ディレクトリを掘っておくことをお勧めします。実行手順は次の通りです。
- 下記のコマンドを実行し、JetPack インストーラを立ち上げる
$ cd /path/to/JetPack-L4T-3.1-linux-x64.run
$ chmod u+x JetPack-L4T-3.1-linux-x64.run
$ ./JetPack-L4T-3.1-linux-x64.run
- 「Select Development Environment」の画面に遷移するまで、Next を押す
- 「Select Development Environment」の画面に遷移したら、インストール対象の Jetson デバイスの種類を選択する
- ここで選択を間違えると、eMMC の書き込み時にエラーとなるので注意が必要です
- 「JetPack L4T Components Manager」ダイアログが表示されるので、インストール対象のコンポーネントを適宜選択する
- ホスト側を含めて完全にインストールする場合は、何もせずに Next を押す
- Jetson のセットアップだけをしたい場合は、「Host-Ubuntu」 を「no action」にする
- ホスト側にコンポーネントをインストールする場合、インストール中にパッケージの依存関係問題が生じる場合がある(特に CUDA と OpenCV) ので、その際は関係する項目を適宜「no action」にする
- 「Terms and Conditions」 ダイアログが出るので、 「Accept All」 にチェックを入れて Accept ボタンを押す
- sudo のパスワードを聞かれるので、入力する
- しばらく待つとインストール完了画面になるので、次に進む
- 「Post Installation」ウィンドウが開いたら、書かれている手順に従って Jetson をリカバリーモードに落とす
- 一度電源ケーブルを抜いて、電源を落とす
- 電源ケーブルを刺して、POWER ボタンを押す
- FORCE RECOVERY ボタンを押したまま、RESET ボタンを押す
- 2秒以上 FORCE RECOVERY ボタンを押したままにすると、リカバリーモードに入ります
- FORCE RECOVERY ボタンを離す
- lsusb コマンドを実行し、NVIDIA のデバイスが見えることを確認する
- 「Post Installation」ウィンドウ上で Enter を押し、インストールを開始する
ここまで進んだら、基本的にあとは自動でインストールが進んで、終了します。
もし途中で止まってしまった場合は、次の手順を試してください。
Step 3: もし “Determining IP address…” で止まったら
JetPack は、ターゲットとなる Jetson の eMMC 書き込みが完了した後、自動でターゲットのIPアドレスを調べ、SSH経由でインストールを実行します。しかし、ネットワーク設定が不適切な環境などではうまくIPアドレスを調べることができず、「Determining IP address…」で実行が止まってしまいます。その場合は、次の手順を試してください。
まずはターゲットの Jetson の IP アドレスを調べます。
- Jetson とモニタを HDMI ケーブルでつなぐ
- Jetson に USBキーボードを刺す
- Jetson に ユーザ名 nvidia / パスワード nvidia でログイン
- ターミナルを開き、 $ ip addr でIPアドレスを調べる。
次に、ホスト側の作業に移ります。
- 再度 JetPack を実行、「JetPack L4T Componet Manager」 の画面まで進める
- 下記の項目を 「no action」 にして、次へ
- Host すべて
- Flash OS Image to Target
- 「Device Information – Jetson TX1」 の画面が出てくるので、調べたIPアドレスとユーザ名・パスワード(nvidia/nvidia)を入力する。
- 「Post Installation」 の画面が出てくるので、一通り終わるまで待つ
以上の手順で TensorRT のインストールは完了です。今回の記事はここまでとします。次回は、TensorRT の使い方について、C++のコード例を交えてご紹介します。
コンピュータビジョンセミナーvol.2 開催のお知らせ - ニュース一覧 - 株式会社フィックスターズ in Realizing Self-Driving Cars with General-Purpose Processors 日本語版
[…] バージョンアップに伴い、オンラインセミナーを開催します。 本セミナーでは、...
【Docker】NVIDIA SDK Managerでエラー無く環境構築する【Jetson】 | マサキノート in NVIDIA SDK Manager on Dockerで快適なJetsonライフ
[…] 参考:https://proc-cpuinfo.fixstars.com/2019/06/nvidia-sdk-manager-on-docker/ […]...
Windowsカーネルドライバを自作してWinDbgで解析してみる① - かえるのほんだな in Windowsデバイスドライバの基本動作を確認する (1)
[…] 参考:Windowsデバイスドライバの基本動作を確認する (1) - Fixstars Tech Blog /proc/cpuinfo ...
2021年版G検定チートシート | エビワークス in ニューラルネットの共通フォーマット対決! NNEF vs ONNX
[…] ONNX(オニキス):Open Neural Network Exchange formatフレームワーク間のモデル変換ツー...
YOSHIFUJI Naoki in CUDAデバイスメモリもスマートポインタで管理したい
ありがとうございます。別に型にこだわる必要がないので、ユニバーサル参照を受けるよ...