yusiwen/dl-from-scratch
feat(ml): add GBDT and random forest implementations
feat: add hyperparameter grid search wrapper
feat: add CNN vs ViT benchmark script (untrained)
feat: add CV inference demos (vit/demo.py, unet/demo.py, yolo/demo.py)
refactor: restructure into domain-grounded directories (ml/ cv/ gen/ graph/ rl/ nlp/)
move: lora/ → nlp/lora/
feat: add LoRA (parameter-efficient fine-tuning for GPT)
feat: add t-SNE (nonlinear dimensionality reduction with PCA comparison)
feat: add MobileNet (depthwise separable convolutions)
feat: add GCN, DQN, SimCLR, YOLO (4 new models + notebooks)
feat: add DDPM (Denoising Diffusion Probabilistic Model)
feat: add Seq2Seq Transformer (encoder-decoder with cross-attention)
feat: add VAE (Variational Autoencoder)
feat: add ResNet50 (Bottleneck block)
docs: update ROADMAP with new candidate models and training estimates
fix: regenerate notebooks with get_device() from utils.device
refactor: extract device detection to utils/device.py (CUDA→MPS→CPU)
feat: add P2+P3 notebooks (basics 9, Word2Vec, LSTM)
feat: add P1 notebooks for CNN, BERT, ResNet18, ResNet34
chore: ignore .ipynb_checkpoints/
chore: add jupyterlab + ipykernel, register kernel
feat: add Jupyter notebooks for GPT, ViT, DCGAN, UNet
docs: add Notebooks section to ROADMAP
docs(roadmap): restructure completed items and update future directions
fix: remove duplicate cnn/ entry in README project tree
feat: add DCGAN, ViT, and UNet modules
feat(resnet): add resnet34 and rename resnet to resnet18
infra: add config system, TensorBoard logging, and reproducibility seed
refactor: GPT word-level tokenizer, full text8, bad token blocking
feat: add GPT (Decoder-only Transformer + Causal Attention + KV Cache)
docs: update BERT accuracy to realistic 50% (character-level limitation)
feat: add LSTM from scratch (hand-written gates) for IMDB sentiment
refactor: BERT uses HuggingFace datasets instead of embedded texts
docs: add Core Concepts section mapping models to key ML/DL concepts
feat: add Word2Vec (CBOW + Skip-gram + Negative Sampling)
feat: add BERT (Transformer Encoder + MLM) for NLP
docs: add PCA, k-NN, Perceptron to Models table, fix resnet model note
feat: add PCA, k-NN, and Perceptron
feat: add Decision Tree (ID3, Iris) and Naive Bayes (Gaussian, MNIST)
docs: fix typo Plato -> Platt SMO
feat: add SVM (GD primal + SMO dual) with Linear and RBF kernels
chore: stop tracking model weights (.pt .npz) in git
feat: add Linear Regression (Normal Equation + GD) on California Housing
feat: add basics/logistic_regression and basics/k_means
feat: add pure NumPy MLP for MNIST (97.9% test acc)
docs: add comprehensive English comments to resnet/ scripts
feat: complete CNN training (82.4% test acc on CIFAR-10)
docs: update README with CNN info, HF datasets description, remove old data/ dir from tree
refactor: migrate to HuggingFace datasets library
feat: add SimpleCNN for CIFAR-10 classification
