Jetson Nanoとは
「Jetson Nano」はNVIDIA社が提供する小型でかつ低電力で動作する開発ボードです。「Jetson Nano」はNVIDIA社が提供するGPUを搭載しており、CUDAと呼ばれる開発環境が標準で搭載されています。Jetson Nano は比較的処理が重い汎用的な処理を簡単に高速化することができるため、企業から研究機関まで幅広く使われています。
JetPackについて
Jetson NanoのOSイメージをインストールする際にダウンロードした“JetPack”は、NVIDIA社が要したAIアプリケーション開発用のパッケージです。Jeton NanoのOSイメージに含まれており、Jetson Nanoをセットアップした時点で利用できるようになっています。
JetPackにはJetson Nanoの性能を確認できるサンプルプログラムが含まれており、コンパイルして事項することでJetsonの高いリアルタイム処理性能を確認することができます。
JetPackに含まれているもの
JetPackには主に次のものが含まれています。
- NVIDIA社のGPU(CUDA)を使うためのプラットフォーム
- 画像処理やコンピュータビジョンのライブラリやツール
- Deep Learningを高いパフォーマンスで実行するためのライブラリ
- Jetsonプラットフォーム用の組み込みアプリケーションを開発するためのライブラリ
CUDA
Jetpackには、Jetson Nanoに搭載されているGPUを効率的に使うためのNVIDIA社の開発した「CUDA(Compute Unified Device Architecture:クーダ)」というプラットフォームが用意されています。このCUDAのプラットフォームを使用すれば、開発者はGPU機能を利用して、限られたリソースで最も効率的な並列処理を行うことができ、プログラムを高速化することができます。
ライブラリ
JetPackには、DeepLearningを高パフォーマンスで実行するためのライブラリとして、NVIDIA社が開発したTensorRTとcuDNNが含まれております。
TensorRTは機械学習でコンピュータが行う推論を高速にするためのライブラリで、TensorRTを使うことで一度に処理できるデータ量を多く(高スループット)、命令を出してからデータが出力されるまでの遅延時間を短く(低レイテンシ)することができます。
また、cuDNNはDeepLearning用に公開されている「Caffe」や「Chainer」といったオープンソースのライブラリを、NVIDIA社のGPUで実行する制度を上げるために改良したライブラリです。Jetson Nanoの場合はCPU、GPU、OSなどすべてがNVIDIA社の管理のもとに設計されているため、JetJackを使うことでJetson Nanoの持つ機能を専用のライブラリを使うことで最大限に発揮することができます。
画像処理のライブラリやツール
JetPackにはVisionWorksやOpenCVといった画像処理のライブラリやサンプルが含まれております。OpenCVはオープンソースの画像処理、機械学習ソフトウェアのライブラリ、VisionWorksには、映像データをリアルアイムで解析し、特徴を抽出してトラッキングしたり2つの映像から距離を計算したり、複数の歩行者が歩いている映像からその移動方向を推測するなどといったデモが含まれています。
この時TISモジュールはTIS.pyを読み込むため同じディレクトリに配置してください。
それ以外のディレクトリに配置する場合は下記のように指定する必要があります。
コンポーネント | 用途 | サンプルが格納されているパス |
---|---|---|
TensorRT | Deep Learning 推論最適化・実行ライブラリ | /usr/src/tensorrt/samples |
cuDNN | CUDA を使って Deep Learning の計算を高速で行うためのライブラリ。このライブラリを使うとCaffeやChainerなどのDeep Learning用のソフトウェアの速度が向上する | /usr/src/cudnn_samples_v7/ |
CUDA | CUDAを使用するためのライブラリ | /usr/local/cuda-10.0/samples/ |
multimedia API | Jetsonプラットフォーム用の組み込みアプリケーションを開発するためのライブラリ | /usr/src/tegra_multimedia_api/ |
VisionWorks | GPUに最適化された画像処理用のパッケージ | /usr/share/visionworks/source/samples/ /usr/share/visionworks-traking/source/samples/ /usr/share/visionworks-sfm/source/samples/ |
OpenCV | 画像処理ライブラリ | /usr/share/OpenCV/samples/ |