This focused short course introduces the core concepts of computer vision (CV) and modern convolutional neural networks (CNNs), then applies them in practice. Participants will understand how images become features, how CNNs learn robust representations, and how to train/evaluate models for real-world tasks. Designed for students, researchers, and professionals with basic Python knowledge, the course blends a clear theoretical framework with a hands-on lab that delivers a working image classifier and practical tips for improving accuracy and robustness. Participants will have an opportunity to run their experiments on the HPC cluster at NCC Montenegro.
Course date: 29.10.2025 at 13:30 (S32, UDG)
Registration for this course is required. You can register on the following form at link https://forms.gle/1FkRDBGCxdrPx9fF6
Designed for: students, researchers, and professionals

Course Content Overview
Session 1 — theoretical framework
- pixels → features: convolutions, padding/stride, receptive fields
- key blocks: activations, pooling, batchnorm, dropout, residuals
- landmark architectures: lenet → resnet → efficientnet
- training essentials: loss, optimizers, lr schedules, augmentation, metrics
- transfer learning basics
Session 2 — hands-on lab
- setup + dataset (cifar-10 or small custom), clean splits, transforms
- baseline cnn train → evaluate (accuracy/F1, confusion matrix)
- fine-tune a pretrained resnet; freeze/unfreeze; early stopping
- export best model (pth/onnx) and tiny inference script
Learning Outcomes
By the end, participants will be able to:
- Explain how CNNs extract hierarchical features and why core blocks/architectures matter.
- Build a solid training pipeline with proper splits, augmentation, and metrics.
- Fine-tune a pretrained model and diagnose errors with interpretability tools.
- Export a trained model for downstream use in apps or services.

