Free course · by the SutraCore team

Free NVIDIA Jetson AI course: 30 days, 16 steps

Orin NX 16GBJetPack 6.2.1CUDA 12.6TensorRT 10.3Python 3.10PyTorch 2.8
ReferenceUse alongside every step

Courses, NVIDIA models and glossary

What to study each week, which NVIDIA models fit your 16 GB Orin NX, how memory gets shared, and plain-English meanings for the terms you'll meet.

Study plan by week

WhenCourse (90 min a day)Pairs with
Week 1NVIDIA DLI "Getting Started With AI on Jetson Nano" + "An Even Easier Introduction to CUDA" (both free) · ZTM PyTorch: fundamentals, workflow, computer visionSteps 01–05
Week 2ZTM PyTorch: custom datasets, transfer learning · The Sound of AI (YouTube) on spectrograms and MFCCSteps 06–08
Week 3TensorRT/ONNX course · Ed Donner LLM Engineering: RAG section · Jetson AI Lab tutorialsSteps 09–13
Week 4FastAPI – The Complete Course (skim; you already know web)Steps 14–16

Udemy courses

Udemy prices swing a lot, so buy during a sale. Before buying, check the last-updated date (2025 or later) and recent reviews.

CourseWhyWhen
PyTorch for Deep Learning Bootcamp (Zero to Mastery, Daniel Bourke). Course page; also on Udemy. Free book: learnpytorch.ioThe best beginner path for this project: tensors, training loop, vision, custom data, transfer learningWeeks 1–2
LLM Engineering: Master AI, Large Language Models & Agents (Ed Donner). UdemyRAG, QLoRA fine-tuning, agents: your AI-engineer track and the SutraAI assistantWeek 3 → Month 2
Learn TensorFlow, PyTorch, TensorRT, ONNX From Scratch. UdemyModel export and TensorRT (Steps 05 and 09). Check reviews first.Weeks 1 and 3
FastAPI – The Complete Course (Eric Roby). Course code on GitHubStep 15Week 4
Optional: Practical Guide to Edge AI and TinyML for Smarter Devices. UdemyTinyML ideas for the ESP32 / Silicon Labs side. Check reviews first.Months 2–3
Optional: The Complete Agentic AI Engineering Course (Ed Donner)Agents, for later assistant featuresMonth 2+

Free resources

NVIDIA models to test on your Orin NX 16 GB

ModelTypeRun withUse in SutraAIStep
Nemotron 3 Nano 4B (Q4_K_M GGUF)LLMllama.cpp llama-serverTraining Advisor, RAG answers, in-app assistant11
Cosmos Reason 2 2B (Q8_0 GGUF)Vision-languagellama.cppCheck labels, describe images, flag odd samples12
llama-nemotron-embed-1b-v2EmbeddingsPython (Hugging Face)RAG search11
llama-nemotron-rerank-1b-v2RerankerPythonBetter RAG ordering (optional)11
NanoOWLOpen-vocabulary detectorTensorRT, Jetson AI Lab tutorialFirst-draft boxes for labelling12
Nemotron Nano 9B v2 (4-bit GGUF)LLMllama.cppOptional quality comparison with the 4B model. Run alone, about 6 GB.11
Cosmos Reason 2 8B (4-bit GGUF only)Vision-languagellama.cppOptional. Its default build is listed at about 18 GB, so use 4-bit only, with everything else stopped.12
Nemotron 3 Nano 30B-A3BLLM—Too big for 16 GB alongside anything else: AGX Orin or a cloud GPU—

Memory budget (16 GB shared by CPU and GPU)

RunningRoughly
Ubuntu + SSH + JupyterLab (desktop adds about 0.5–1 GB)1–2 GB
PyTorch kernel training MobileNet or a 1D-CNN1.5–4 GB
Nemotron 3 Nano 4B, Q4, 8k context3.5–4 GB
Cosmos Reason 2 2B, Q8about 3 GB
Nemotron 1B embedder (fp16)about 2.5 GB
Nemotron Nano 9B v2, Q4 (optional)about 6 GB

These are approximate; measure yours with jtop. Good combinations on 16 GB: training + Nemotron 4B, or Nemotron 4B + embedder + Cosmos 2B. Avoid two big models plus training at once.

Common problems

SymptomCauseFix
ImportError: libcudss.so.0 / libcusparseLt.so.0JetPack 6.2.1 doesn't ship cuDSS / cuSPARSELt, which torch 2.8.0 needsInstall both into /opt/nvidia and run sudo ldconfig (Step 02, substep 3)
libnccl.so.2 / undefined symbol: ncclCommWindowDeregisterEarly copy of the torch 2.8.0 wheelForce-reinstall torch 2.8.0 from the jp6/cu126 index with --no-cache-dir --no-deps
torch.cuda.is_available() is FalseCPU wheel from PyPIReinstall torch from the Jetson index with --no-cache-dir (Step 02)
Traceback shows /usr/lib/python3/dist-packages ('RcParams' … '_get', Unable to import Axes3D, 'docstring')The venv can see Ubuntu's old Python packages (made with --system-site-packages)One-time switch to an isolated venv with only TensorRT linked (Step 02, substep 2); restart JupyterLab and the kernel
You are sending unauthenticated requests to the HF HubDownloading models from Hugging Face without logging in (harmless)Free Read token + hf auth login in the venv (Step 02, substep 5)
torchvision::nms does not existtorch/torchvision mismatchInstall torch 2.8.0 + torchvision 0.23.0 together from the jp6/cu126 index
torch version changed after installing a packageVersion lock not activeecho $PIP_CONSTRAINT should print constraints-jp621.txt; reactivate the venv (Step 02)
onnx2tf install compiles for ages or breaks numpyOld onnx2tf 1.29 picked for Python 3.10, or installed into the main venvonnx2tf 2.6.9 in Colab or in a Python 3.12 .venv-convert (Step 05, substep 4)
Kernel "Killed"Out of memorySmaller batch, close kernels, headless, swap on, stop LLMs
Slow trainingPower mode or data loadingMAXN SUPER (sudo nvpmodel -m 0), num_workers=4, mixed precision
TFLite conversion failsPython too old for onnx2tf 2.x, or an unsupported opConvert in Colab (Step 05, Option A); prefer MobileNetV2 / 1D-CNN
llama.cpp on the CPUBuilt without CUDARebuild with -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=87
Container CUDA error on JetPack 7.2CUDA 12.6 image vs 13.2 driverCUDA 13 image or build from source

Glossary

TermMeaning
TensorA multi-dimensional array that can live on the GPU
Train / validation / testLearn from it / tune against it / final honest score, used once
Epoch / batchOne pass over the training data / a small group processed together
LossHow wrong the model is; training pushes it down
OverfittingMemorising the training data: training score up, validation score down
Transfer learningStart from a model pre-trained on millions of images and teach it your classes
AugmentationRandom changes (crop, colour, noise) that make the model robust
Confusion matrixTrue vs predicted classes; shows which classes get mixed up
Precision / recall / F1How many detections were right / how many real objects were found / the balance of both
Window / strideLength of each time slice / how far the next slice moves
MFCCA compact fingerprint of a sound slice: 13 numbers per 20 ms frame
ONNXA standard model file format many runtimes can load
TensorRT engineA model optimized for one specific NVIDIA GPU + TensorRT version
TFLite / LiteRTGoogle's model format and runtime for small devices; TFLite Micro runs on MCUs
Quantization (int8)8-bit integers instead of 32-bit floats: about 4× smaller and faster, slightly less accurate
Calibration dataReal samples used to pick the int8 value ranges
Tensor arenaThe RAM block an MCU reserves for the model's working data
Golden vectorsSaved input/output pairs that a new implementation (e.g. C on a chip) must reproduce exactly
GGUFFile format for quantized LLMs used by llama.cpp
RAGFind relevant text first, then let the LLM answer only from it
EmbeddingA vector that captures meaning; similar text gives nearby vectors