This guide explains how to run and test your Jetson device with Jetson-Inference project. It offers step-by-step instructions on how to select the appropriate Docker container image, launch the container, and mount data volumes. The guide also provides an example of using an Intel RealSense Camera D435 to run a CUDA application and observe the resulting FPS.

Table of Contents

Running the Docker Container

<aside> ⚠️ (Select the Docker Image based on your L4T Version)

</aside>

Pre-built Docker container images for this project are hosted on Docker Hub. Alternatively, you can Build the Project from Source.

Below are the currently available container tags:

Container Tag L4T version JetPack version
dustynv/jetson-inference:r35.2.1 L4T R35.2.1 JetPack 5.1
dustynv/jetson-inference:r35.1.0 L4T R35.1.0 JetPack 5.0.2
dustynv/jetson-inference:r34.1.1 L4T R34.1.1 JetPack 5.0.1
dustynv/jetson-inference:r32.7.1 L4T R32.7.1 JetPack 4.6.1
dustynv/jetson-inference:r32.6.1 L4T R32.6.1 JetPack 4.6
dustynv/jetson-inference:r32.5.0 L4T R32.5.0 JetPack 4.5
dustynv/jetson-inference:r32.4.4 L4T R32.4.4 JetPack 4.4.1
dustynv/jetson-inference:r32.4.3 L4T R32.4.3 JetPack 4.4

<aside> 💡 Note: the version of JetPack-L4T that you have installed on your Jetson needs to match the tag above. If you have a different version of JetPack-L4T installed, either upgrade to the latest JetPack or Build the Project from Source to compile the project directly.

</aside>

These containers use the l4t-pytorch base container, so support for transfer learning / re-training is already included.

Launching the Container

Due to various mounts and devices needed to run the container, it's recommended to use the docker/run.sh script to run the container:

git clone --recursive <https://github.com/dusty-nv/jetson-inference>
cd jetson-inference
docker/run.sh

<aside> ⚠️ Because of the Docker scripts used and the data directory structure that gets mounted into the container, you should still clone the project on your host device (i.e. even if not intending to build/install the project natively)

</aside>

Docker/run.sh will automatically pull the correct container tag from Docker Hub based on your currently-installed version of JetPack-L4T, and mount the appropriate data directories and devices so that you can use cameras/display/ect from within the container. It will also prompt you to download DNN models if you haven't already done so, which get mounted into the container to load. This initial setup is only done once.

Mounted Data Volumes

For reference, the following paths automatically get mounted from your host device into the container: