How notnot696/deep-neural-network-from-scratch works
This repository is a NumPy neural-network library for building, training, and evaluating classifiers. Its principal workflow is to load and prepare a dataset, compose a network, train it, then predict or evaluate and save results. The sampled model directly performs layer passes and uses utility losses and plotting; optimizer, scheduler, and regularizer modules provide additional capabilities, but their integration into training is not shown. Callback and logging behavior is documented and partially visible in src/utils.py.
Main entry points: model.py Neural network · data_loader.py Iris and image data · layers.py Dense and norm layers · utils.py Training callbacks
Components 18
Data preparation
- Iris and image data
src/data_loader.py - Encoding and splitting
src/utils.py
Network runtime
- Neural network
src/model.py - Dense and norm layers
src/layers.py - Activation functions
src/activations.py - Weight initializers
src/initializers.py
Training extensions
- Gradient optimizers
src/optimizers.py - Learning rate schedules
src/schedulers.py - Weight regularization
src/regularizers.py - Training callbacks
src/utils.py
Evaluation and artifacts
- Losses and metrics
src/utils.py - Training plots
src/utils.py - Experiment logging
src/utils.py - Saved model weights
src/model.py - JSON experiment logs
src/utils.py
Other components
- Model builder
- Dataset providers
- Local filesystem
Connections 19
- Model builder → Iris and image data: requests data
- Iris and image data → Dataset providers: fetches dataset
- Iris and image data → Encoding and splitting: encodes and splits
- Model builder → Neural network: configures and trains
- Neural network → Dense and norm layers: runs forward and backward
- Dense and norm layers → Activation functions: applies activation
- Dense and norm layers → Weight initializers: initializes weights
- Neural network → Losses and metrics: computes loss and accuracy
- Neural network → Training plots: plots training history
- Neural network → Saved model weights: saves or loads
- Model builder → Gradient optimizers: selects optimizer
- Model builder → Learning rate schedules: selects schedule
- Model builder → Weight regularization: uses regularization
- Model builder → Training callbacks: uses callbacks
- Training callbacks → Neural network: saves checkpoint
- Model builder → Experiment logging: records experiment
- Experiment logging → JSON experiment logs: writes JSON
- JSON experiment logs → Local filesystem: persists
- Saved model weights → Local filesystem: persists