Data set size for transfer learning SSD-MobileNet

Hello, Im trying to perform transfer learning for object detection on SSD-MobileNet, following the jetson-inference github, on a jetson orin nano. my dataset is roughly 15k images, would i be able to do this on the jetson orin nano? in the jetson-inference they say i should limit the dataset.

I plan on mounting swap on NVMe as well as running it on SSH from my laptop and having batch-size=2 workers=1.

Hi @castej10, that part about limiting the dataset was in the context of the original Jetson Nano, and also the open-images dataset (which can download hundreds of thousands of images for some object classes). And technically even the original Nano could train such a dataset, it would just take a long time - the same thing for your dataset of 15K images on Orin Nano.

I would run a couple epochs and see how long it takes, that should give you a good idea of the training times involved. Generally speaking though, the bigger the dataset the better - you just might need to run the training on a PC or cloud instance if it’s too slow for you.

ok perfect i will see how it goes with a couple thank you so much Dusty!

one more question, can i then train a model of any size on a pc or web services and deploy that model on the edge linke the jetson nano? if its not the amount of data a model has been trained on but the model itself what are the limiting factors that would prevent them from running on devices like the jetson nano comparable to other devices perhaps like orin series or xavier?

@castej10 yes, you can just clone the pytorch-ssd submodule to your Linux PC/server that has GPU, and run it there for faster training. When you’re done training, export the ONNX model and copy it to your Jetson (along with it’s labels.txt) and run the inference there. I typically run this in the NGC pytorch container for x86.

Limiting factors are typically the model resolution (the default is 300x300, but you can change it to 512x512 for example) and the network architecture. This tutorial uses SSD-Mobilenet which is well-suited to embedded devices. On Xavier and Orin you can also run the TAO DetectNet_v2 models with INT8 quantization which are faster and more complex architectures:

1 Like

Thank you Dusty, on point like always. I will definitely keep this for future progress.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.