Training Computer Vision model on host pc and deploying model on Jetson Xavier NX

I want to train a computer vision model for object detection and i’ve seen that NVIDIA already has some Docker containers with models relating to this. Is there any way that I could download all the packages necessary to run this docker container using WSL2? Without having the Jetson/ or connecting it. I would like for the training to be done on a host pc and deploy it to the Jetson Xavier NX. How would I do this?

Hi @dramirez2, yes at one point I had tried PyTorch training under WSL2 using the NGC pytorch container. I used the same train_ssd.py scripts that the jetson-inference Object Detector Training tutorial uses, then copied the exported ONNX model to my Jetson and ran it there through TensorRT with detectnet/detectnet.py.

It may also be possible to run TAO Toolkit for training under WSL2, I’m not sure. Then you could deploy those models on your Jetson with DeepStream.

Presuming that your PC has an NVIDIA GPU, here are some notes I have from setting up WSL2 with docker (these may or may not still be valid)

https://docs.nvidia.com/cuda/wsl-user-guide/index.html#ch02-sub03-installing-wsl2
https://learn.microsoft.com/en-us/windows/wsl/install

wsl.exe --install
(reboot if needed)
wsl.exe --update
(wsl --shutdown  if needed)

wsl or ubuntu  (to start ubuntu)

https://docs.nvidia.com/ai-enterprise/deployment-guide/dg-docker.html#enabling-the-docker-repository-and-installing-the-nvidia-container-toolkit

$ sudo apt-get install docker.io
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit

https://dev.to/bowmanjd/install-docker-on-windows-wsl-without-docker-desktop-34m9
sudo dockerd
-open a new WSL2 terminal-

# test GPU in container (you probably need to use a newer container tag nowadays)
sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi