Jetson Nano - Transfer Learning on Object Detection Model

I have a Jetson Nano and I plan to train an Object Detection Model on it.

I have seen the new documentation on how to use PyTorch and Resnet-18 over here: https://github.com/dusty-nv/jetson-inference/blob/master/docs/pytorch-transfer-learning.md

I have also seen the following resources. They are very similar as they use the ant and bee datasets:
https://www.zaferarican.com/post/transfer-learning-training-on-jetson-nano-with-pytorch
https://medium.com/@heldenkombinat/image-recognition-with-pytorch-on-the-jetson-nano-fd858a5686aa#ea9a

I have tried the zaferarican site first. The training works as advertised but it doesn’t tell me how to save or where the new model is saved.

All of the samples above are for training Image Classification models.

However, I’m looking to do Transfer Learning on an Object Detection Model.

Based on my previous attempts at Training, the main difference in Training Object Detection Models is that I also add a folder where the coordinates are in each of the images in my train and evaluate/test folders. However, aside from that, I don’t know how to proceed as I’ve only used a script to do the actual heavy lifting.

Is there a guide or tutorial on how to do Transfer Learning with Object Detection on a Jetson Nano using PyTorch? Any leads will be very much appreciated.

Hi,

Sorry that we don’t have a transfer learning tutorial on object detection usecase.
You might get some information from the official document here:
https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html

Thanks.

Hello. How about model training or retraining (transfer learning) with Tensorflow on the Nano? I have installed the official Tensorflow for the nano but I’m getting an OOM when doing training.

Hi,

Nano is designed as an inference device.
It may not be suitable for training with its limited memory and bandwidth.

If you want to apply training on the Nano, you may need to create swap memory first.
Thanks.

Will there now be any learning transfer tutorial for object detection for Jetson Nano? since only the last layer is going to be trained.

The transfer learning toolkit will be released soon, please stay tuned.

Hello kaycc, Did NVIDIA have launched transfer learning for object detection model with custom datasets?

Yes, please refer to https://devtalk.nvidia.com/default/topic/1063956/transfer-learning-toolkit/transfer-learning-toolkit-general-availability/

Hello kayccc,
Is the toolkit able to run on the jetson nano to do transfer learning or do we need a PC with a NVIDIA GPU?

Thank you for your answer

Hello kayccc,
Can I run the transfer learning toolkit on the jetson nano or the jetson AGX?

Hi jarosky,
For running TLT, you need a PC with a NVIDIA GPU.
See below.

Hardware Requirements

Minimum

4 GB system RAM
4 GB of GPU RAM
Single core CPU
1 GPU
50 GB of HDD space

Recommended

32 GB system RAM
32 GB of GPU RAM
8 core CPU
4 GPUs
100 GB of SSD space

Software Requirements

Ubuntu 18.04 LTS
NVIDIA GPU Cloud account and API key - https://ngc.nvidia.com/
docker-ce installed, https://docs.docker.com/install/linux/docker-ce/ubuntu/
nvidia-docker2 installed, instructions: https://github.com/nvidia/nvidia-docker/wiki/Installation-(version-2.0)
NVIDIA GPU driver v410.xx or above

Note: DeepStream 4.0 - NVIDIA SDK for IVA inference https://developer.nvidia.com/deepstream-sdk is recommended.

After training, you can deploy the etlt model or trt engine into Jetson Nano.

More details about TLT, please see https://docs.nvidia.com/metropolis/TLT/tlt-getting-started-guide/

You can trigger TLT docker to run some examples inside it.

Hi

is it possible to do TLT on cloud? and deploy for inference on jetson nano?

Sure,you can.