【TensorRT やってみた】(2): TensorRT のインストール

2018年3月29日

ソリューション事業部の遠藤です。

TensorRT やってみたシリーズの第2回です。

今回は、TensorRT のインストール手順について説明します。

Tesla(GeForce) 環境へのインストール手順

一般的なGPU搭載PC環境の場合、数コマンドでインストールが可能です。

前提条件として、以下の項目を想定しています。

  • NVIDIA GPU がインストールされた amd64 マシンで、Ubuntu 16.04 がインストールされていること
  • NVIDIA ドライバ、CUDA、cuDNN 等が一通りインストールされていること

インストール手順は以下のとおりです。

  1. NVIDIAのダウンロードページ から TensorRT のパッケージをダウンロードする
  2. $ sudo dpkg -i nv-tensorrt-repo-ubuntu1604-ga-cuda8.0-trt3.0.2-20180108_1-1_amd64.deb
  3. $ sudo apt update
  4. $ 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 のインストーラを、ホスト上の適当な場所に配置します。なお、インストーラを実行すると様々なファイルが展開されるため、一段ディレクトリを掘っておくことをお勧めします。実行手順は次の通りです。

  1. 下記のコマンドを実行し、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
  2. 「Select Development Environment」の画面に遷移するまで、Next を押す
  3. 「Select Development Environment」の画面に遷移したら、インストール対象の Jetson デバイスの種類を選択する
    • ここで選択を間違えると、eMMC の書き込み時にエラーとなるので注意が必要です
  4. 「JetPack L4T Components Manager」ダイアログが表示されるので、インストール対象のコンポーネントを適宜選択する
    • ホスト側を含めて完全にインストールする場合は、何もせずに Next を押す
    • Jetson のセットアップだけをしたい場合は、「Host-Ubuntu」 を「no action」にする
    • ホスト側にコンポーネントをインストールする場合、インストール中にパッケージの依存関係問題が生じる場合がある(特に CUDA と OpenCV) ので、その際は関係する項目を適宜「no action」にする
  5. 「Terms and Conditions」 ダイアログが出るので、 「Accept All」 にチェックを入れて Accept ボタンを押す
  6. sudo のパスワードを聞かれるので、入力する
  7. しばらく待つとインストール完了画面になるので、次に進む
  8. 「Post Installation」ウィンドウが開いたら、書かれている手順に従って Jetson をリカバリーモードに落とす
    1. 一度電源ケーブルを抜いて、電源を落とす
    2. 電源ケーブルを刺して、POWER ボタンを押す
    3. FORCE RECOVERY ボタンを押したまま、RESET ボタンを押す
    4. 2秒以上 FORCE RECOVERY ボタンを押したままにすると、リカバリーモードに入ります
    5. FORCE RECOVERY ボタンを離す
  9.  lsusb コマンドを実行し、NVIDIA のデバイスが見えることを確認する
  10. 「Post Installation」ウィンドウ上で Enter を押し、インストールを開始する

ここまで進んだら、基本的にあとは自動でインストールが進んで、終了します。

もし途中で止まってしまった場合は、次の手順を試してください。

Step 3: もし “Determining IP address…” で止まったら

JetPack は、ターゲットとなる Jetson の eMMC 書き込みが完了した後、自動でターゲットのIPアドレスを調べ、SSH経由でインストールを実行します。しかし、ネットワーク設定が不適切な環境などではうまくIPアドレスを調べることができず、「Determining IP address…」で実行が止まってしまいます。その場合は、次の手順を試してください。

まずはターゲットの Jetson の IP アドレスを調べます。

  1. Jetson とモニタを HDMI ケーブルでつなぐ
  2. Jetson に USBキーボードを刺す
  3. Jetson に ユーザ名 nvidia / パスワード nvidia でログイン
  4. ターミナルを開き、 $ ip addr  でIPアドレスを調べる。

次に、ホスト側の作業に移ります。

  1. 再度 JetPack を実行、「JetPack L4T Componet Manager」 の画面まで進める
  2. 下記の項目を 「no action」 にして、次へ
    • Host すべて
    • Flash OS Image to Target
  3. 「Device Information – Jetson TX1」 の画面が出てくるので、調べたIPアドレスとユーザ名・パスワード(nvidia/nvidia)を入力する。
  4. 「Post Installation」 の画面が出てくるので、一通り終わるまで待つ

以上の手順で TensorRT のインストールは完了です。今回の記事はここまでとします。次回は、TensorRT の使い方について、C++のコード例を交えてご紹介します。

About Author

yasunori.endo

Leave a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media