NVIDIA RivaのJetsonへのインストール

Jetson

NVIDIA RivaをJetsonにインストールする方法を説明していきます。

本ドキュメントは、

  • JetPack 5.1
  • NVIDIA RIva 2.1.0

の組み合わせで動作確認をおこなっています。

Jetsonシリーズでも、Xavier NX, AGX Xavier, Orin Nano, AGX Xavierなどが対応しています。

SD起動での起動は安定しないので、SSD上にDockerを展開して環境を構築するようにしてください。

daemon.jsonの書き換え

/etc/docker/daemon.json"default-runtime": "nvidia"の記述を追加します。

/etc/docker/daemon.json

{
    "default-runtime": "nvidia",    
    "runtimes": {
	    "nvidia": {
		    "path": "nvidia-container-runtime",
		    "runtimeArgs": []
		}
    }
}

NGCからDockerをダウンロード

ngcをインストールするにはngcのコマンドをインストールしておく必要があります。

ngcをインストールします。

wget --content-disposition https://ngc.nvidia.com/downloads/ngccli_arm64.zip && unzip ngccli_arm64.zip && chmod u+x ngc-cli/ngc

PATHを通します。

echo "export PATH=\"\$PATH:$(pwd)/ngc-cli\"" >> ~/.bash_profile && source ~/.bash_profile

ngcのAPIキーを登録します。

ngc config https://ngc.nvidia.com/setup

ngcコマンドを使ってdockerをダウンロードします。

ngc registry resource download-version nvidia/riva/riva_quickstart_arm64:2.10.0

この際に、ngcのAPI Keyが必要になるので、https://ngc.nvidia.com/setup のページから作成しておきます。

dockerの構築が成功すると、riva_quickstart_arm64:2.10.0 フォルダが生成されますので、フォルダの中にはいります。

cd riva_quickstart_arm64_v2.10.0/

config.sh の修正

config.shで、対応言語と音声認識や音声出力のどれを有効にするか設定します。

AGX Xavier, Xavier NXで日本語のASR(音声認識)を有効にする場合

# GPU family of target platform. Supported values: tegra, non-tegra
riva_target_gpu_family="tegra"

# Name of tegra platform that is being used. Supported tegra platforms: orin, xavier
riva_tegra_platform="xavier"

# Enable or Disable Riva Services
service_enabled_asr=true
service_enabled_nlp=false
service_enabled_tts=false
service_enabled_nmt=false
...
# for multiple languages enter space separated language codes.
language_code=("ja-JP")

AGX Orin, Orin Nanoで日本語のASR(音声認識)を有効にする場合

# GPU family of target platform. Supported values: tegra, non-tegra
riva_target_gpu_family="tegra"

# Name of tegra platform that is being used. Supported tegra platforms: orin, xavier
riva_tegra_platform="orin"

# Enable or Disable Riva Services
service_enabled_asr=true
service_enabled_nlp=false
service_enabled_tts=false
service_enabled_nmt=false
...
# for multiple languages enter space separated language codes.
language_code=("ja-JP")

電力モードを変更します。

sudo nvpmodel -m 0 (Jetson Orin AGX, mode MAXN)
sudo nvpmodel -m 0 (Jetson Xavier AGX, mode MAXN)
sudo nvpmodel -m 2 (Jetson Xavier NX, mode MODE_15W_6CORE)

RIVAの初期化をおこないます。

sudo bash riva_init.sh

RIVAを実行します。

sudo bash riva_start.sh

実行に成功すると、dockerの中の/opt/rivaフォルダに移動されます。

USBマイクを使った認識の実行

exampleフォルダのtransaction_mic.py を実行すると、USBマイクでの音声認識を動かす事ができます。

cd examples/
python3 transcribe_mic.py --language-code ja-JP