2022/02/20

NVIDIA L4T MLのDockerイメージで,Jetson上にCUDAをサポートするOpenCVの環境を準備する

概要

JetPack 4.6にはOpenCV 4.1.1が含まれていますが,CUDAサポートがOFFになっています. ここでは比較的手軽にCUDAサポートがONのOpenCVの環境を準備する方法として,NVIDIA L4T MLのDockerイメージを使用する方法をメモしておきます.

Jetson Jetson Nano
JetPack 4.6
NVIDIA L4T ML l4t-ml:r32.6.1-py3
NIVIDIA NGCとNVIDIA L4T ML

NVIDIA NGCでは,さまざまな用途のための,ディープラーニング,機械学習およびHPC向けのDockerイメージが配布されています. Jetson向けのDockerイメージは下記のリンクから一覧表示できます.

NVIDA NGCで配布されているDockerイメージの1つにNVIDIA L4T MLがあります.これはディープラーニング,機械学習やデータサイエンスの各種フレームワークをPython 3.6上で使用するための環境です. 下記ページの「Package Versions」を確認するとl4t-ml:r32.6.1-py3のリストにはOpenCV 4.5.0 (with CUDA)と記載されており,CUDAサポートがONになっていることがわかります.

Dockerコンテナを起動する
ワーキングディレクトリと起動スクリプトの準備

お好みの場所にワーキングディレクトリを作成し,その中にDockerコンテナの起動スクリプト,run.shを作成します. ここでは既存ディレクトリの/dataの配下にl4t-mlというディレクトリを作成しています.

お好みのテキストエディタでrun.shを作成し,下記リンクのrun.shの内容をコピー・アンド・ペーストしてください. なお,使用するDockerイメージのタグはJetPack 4.6に対応するr32.6.1-py3になっています.違うタグを指定したい場合は,NVIDIA L4T MLのページを参照して任意のタグに置き換えてください.

Dockerコンテナの起動

少なくともこれ以降の作業は,Jetsonにキーボード,マウスおよびディスプレイを接続して直接GUIログインしていることを前提に説明します. run.shに実行権限を付与し,実行してください.初回はDockerイメージのPullがあり,Dockerコンテナの起動に時間がかかります.

Dockerコンテナが起動し,Dockerコンテナの端末が表示されました.

dockerコマンドを実行するとエラーになる場合は,下記が解決の参考になるかもしれません.

Python 3でOpenCVライブラリの情報を確認する

下記の投稿で紹介した方法で,Dockerコンテナ上のOpenCVライブラリの情報を確認してみました. CUDAサポートがONになっています.

製品紹介

0 件のコメント:

コメントを投稿