Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Месяц 3 — Сборник упражнений

🟢 Easy

PyTorch Basics

  1. Создайте 5 tensor’ов разной shape и выведите атрибуты shape, dtype, device.
  2. Вычислите gradient’ы простых функций через requires_grad=True.
  3. Создайте subclass nn.Module — input → 3 hidden → output.

Training

  1. MLP на MNIST с 95%+ accuracy.
  2. Сравните Optimizers: SGD, SGD+momentum, Adam, AdamW.
  3. Посмотрите эффект изменения learning rate на 1e-1, 1e-3, 1e-5.

CNN

  1. Train SimpleCNN на CIFAR-10 (5 epoch).
  2. Загрузите pretrained ResNet-18, classifier на ImageNet изображениях.
  3. Создайте конвейер augmentation через torchvision.transforms.

RNN/LSTM

  1. Сравните nn.RNN, nn.LSTM, nn.GRU на одной задаче.
  2. Next-step forecasting для Sin function.
  3. Создайте Bidirectional LSTM, разница с обычной LSTM.

🟡 Medium

Production-ready training

  1. Full training pipeline: Mixed precision + early stopping + checkpoint + W&B logging.
  2. Hyperparameter tuning: для PyTorch модели через Optuna.
  3. Multi-GPU(с Colab Pro или Kaggle): nn.DataParallel.

Transfer learning

  1. Flower classification: 102 вида цветов — pretrained EfficientNet, 92%+ accuracy.
  2. Custom domain: соберите свой набор изображений (с камеры телефона), 5 классов, по 50 изображений в каждом — применить transfer learning.
  3. Few-shot learning: по 5 изображений на класс, добиться 90%+ accuracy.

Time series

  1. Real stock data(yfinance): LSTM + sliding window forecasting.
  2. Multivariate: LSTM с несколькими признаками (price, volume, indicators).
  3. Сравнение Prophet vs LSTM.

Text

  1. IMDB sentiment: с LSTM 85%+ accuracy.
  2. News classification: 4-5 категорий (AG News).
  3. Char-level language model: на Shakespeare или узбекском тексте.

🔴 Hard

1. Production ML API

  • Image classification (EfficientNet) FastAPI
  • Multi-stage Dockerfile (build → runtime)
  • Async batching (оптимизация времени и GPU)
  • Healthcheck, metrics endpoint
  • Load test (через Locust): оптимизация, выдерживающая 100 req/s

2. Distributed training

  • Kaggle Notebooks Pro или Colab Pro
  • Через DistributedDataParallel на 2 GPU
  • Mixed precision + gradient accumulation
  • Сравнение времени training с single GPU

3. Model interpretation service

  • Image classification через ResNet
  • Endpoint, возвращающий также Grad-CAM
  • Streamlit или React UI

4. End-to-end CV pipeline

  • Data: сбор изображений из web (Selenium или API)
  • Labelling (Label Studio или вручную)
  • Training (PyTorch + W&B)
  • Deploying (FastAPI + Docker + Nginx)
  • Monitoring (Prometheus + Grafana)

Мини-проекты

Мини-проект 1: Plant Disease Detector

  • Dataset: PlantVillage (Kaggle)
  • 95%+ accuracy через transfer learning
  • Mobile-friendly (TFLite или PyTorch Mobile)
  • Streamlit demo

Мини-проект 2: Real-time Pose Estimation

  • MediaPipe или MMPose
  • Webcam streaming
  • WebSocket + FastAPI

Мини-проект 3: Music Genre Classifier

  • GTZAN dataset
  • Mel-spectrogram + CNN
  • FastAPI: audio upload → genre

Мини-проект 4: Time Series Anomaly Detection

  • Server metrics (CPU, RAM)
  • LSTM autoencoder
  • Real-time alert system

Quiz

Fundamentals

  1. Как работает Backpropagation (chain rule)?
  2. Что такое vanishing gradient и как он решается?
  3. Связь между batch size и learning rate?
  4. Why ReLU > Sigmoid (в современных NN)?
  5. Что делает Dropout при test?

PyTorch

  1. Разница между model.eval() и torch.no_grad()?
  2. Что сохраняет state_dict()?
  3. Влияние num_workers и pin_memory в DataLoader?
  4. Когда выгодна Mixed precision (AMP)?
  5. Плюсы/минусы export TorchScript и ONNX?

CNN

  1. Почему 3x3 kernel так широко распространён?
  2. Когда какой использовать Max или Average pooling?
  3. Зачем используется skip connection в ResNet?
  4. Что такое compound scaling в EfficientNet?
  5. Что такое receptive field и как он считается?

RNN

  1. Разница между RNN и Feedforward NN?
  2. Gate’ы LSTM и их функции?
  3. Когда полезна Bidirectional RNN?
  4. Why gradient clipping is critical for RNN?
  5. Причины перехода от RNN к Transformer?

✅ Чек-лист конца Месяца 3

  • Написал простую NN на чистом NumPy
  • nn.Module и training loop в PyTorch
  • Знакомство с TensorFlow/Keras
  • Image classification через CNN (CIFAR-10 или похожий)
  • Transfer learning (с pretrained моделью)
  • Sequence task (time series или text) через RNN/LSTM
  • Experiment tracking через W&B или TensorBoard
  • Serving DL модели в FastAPI (на CPU или GPU)
  • Capstone проект на GitHub
  • Пост в LinkedIn

Поздравляю! Переходим к Месяц 4 — Computer Vision + NLP.