Deep Learning Essentials

Course Content

Deep Learning Essentials

13 sections · 61 lessons

Name the Deep Learning frameworks and tools that you have used


What you need to know

This is a question about your experience, so the "right" answer is your own. But interviewers are listening for three things: that you know what each tool is for, that you have used some of them for real, and that you are honest about depth.

The tool map, by job

JobTools you should recognise
Build and train modelsPyTorch (most common today), JAX (research, TPUs), TensorFlow/Keras (still in many production systems)
Pretrained models and fine-tuningHugging Face Transformers, Datasets, PEFT (LoRA, QLoRA), TRL, timm for vision models
Training loops at scalePyTorch Lightning, Hugging Face Accelerate, DeepSpeed, FSDP
Classical ML and metricsscikit-learn, XGBoost, LightGBM
Data handlingNumPy, pandas, Polars
Experiment trackingWeights & Biases, MLflow, TensorBoard
Optimised inferenceONNX Runtime, TensorRT, OpenVINO, torch.compile
Mobile and edgeExecuTorch, LiteRT (the new name of TensorFlow Lite), Core ML
LLM servingvLLM, SGLang, TensorRT-LLM, llama.cpp
Hardware layerCUDA and cuDNN on NVIDIA GPUs, mixed precision (bf16/fp16)

A few facts worth knowing

  • PyTorch runs code eagerly (line by line), which makes debugging with normal Python tools easy. Since PyTorch 2.0, torch.compile can compile a model for speed without changing the code.
  • TensorFlow 2 also runs eagerly by default, with tf.function to build a graph. Keras 3 is multi-backend: the same Keras code can run on TensorFlow, JAX or PyTorch.
  • ONNX is a file format for models. You train in PyTorch, export to ONNX, and run it with ONNX Runtime or TensorRT in production, often much faster on CPU or GPU.

How to structure your answer

  1. Name your primary framework and a project you built with it.
  2. Name the supporting tools you used in that project, and what each did.
  3. Name tools you know but have not used deeply, and say so.

A real-life example

A good answer from a candidate who built a crop-disease app:

"I trained an EfficientNet-B0 in PyTorch using timm for the pretrained weights. I used torchvision.transforms.v2 for augmentation, and tracked about 40 runs in Weights & Biases to compare learning rates and augmentation settings. For the phone app, I exported the model to ONNX, quantised it to int8, and ran it with ONNX Runtime Mobile. That cut the model from 21 MB to about 6 MB and brought inference on a mid-range Android phone to under 100 milliseconds. I have used TensorFlow only to maintain an older Keras model, so I am less deep there."

Why it works: specific tools, a clear job for each, real numbers, and honesty about limits. The interviewer now has five good follow-up questions and you can answer every one.

Follow-up questions to expect

  • "Why PyTorch over TensorFlow?" — Eager execution makes debugging natural, most research code and pretrained models appear in PyTorch first, and torch.compile closed much of the old performance gap. TensorFlow still has strong deployment tooling in some companies.
  • "What does torch.compile do?" — It captures the model's operations into a graph and generates optimised kernels, often fusing several operations into one. It can speed up training and inference without code changes.
  • "How did you deploy the model?" — Be ready to explain export format, quantisation, serving method, and latency numbers.