Introduction
Computer vision prototypes usually die in notebooks: one script for preprocessing, another for training, a third for evaluation, and nothing that tracks experiments or serves inference behind a stable HTTP contract. week_23_24_aiml_integrated_project is a self-contained capstone that consolidates the full vision pipeline into one runnable system:
An installable Python package (
week2324_python) with concept-named modules for preprocessing, CNNs, pooling, datasets, training loops, evaluation, export, and deploymentA FastAPI backend exposing two API surfaces: a lab path for topic exploration and a product path for experiment lifecycle management
VisionClassifier Platform — a React dashboard with a guided pipeline, component studio, live training monitor, and multipart image inference
PostgreSQL-backed experiment metadata (async SQLAlchemy + Alembic), named Docker volumes for artifacts and dataset caches, and offline-safe synthetic fallbacks when CIFAR archives cannot be downloaded
The engineer payoff is traceability and boundaries. A quick CNN smoke test is not a stray script—it is train_simple_cnn behind a lab route with capped batches. Production training is not a blocking HTTP call—it is POST /api/v1/cv/experiments/{id}/train returning HTTP 202 while asyncio.create_task runs ResNet fine-tuning in a worker thread, with the dashboard polling run status until completion or failure.
Core Components
The stack is layered. Each topic below is a distinct building block; together they form one coherent image-classification platform.
Image preprocessing and normalization
image_pipeline.py handles OpenCV/PIL ingestion, ImageNet-style normalization profiles (CIFAR10_MEAN / CIFAR100_MEAN), and build_inference_transform for 224×224 upload tensors. preprocess_upload_bytes powers multipart inference on the product API.
Convolutional network architectures
SimpleCNN provides a pedagogical three-block classifier for CIFAR-10 smoke tests. ImageClassifier is a deeper three-block production-style CNN with checkpoint saving. build_resnet18_classifier wraps torchvision ResNet18 with a replaceable FC head for 100-way CIFAR-100 classification. inspect_feature_maps in cnn/debug.py exposes spatial activations for architecture demos.


