```html
Neural Network Flowchart
Neural Network Architecture
flowchart TD
subgraph group_interfaces["Entry Points"]
node_train_cli["Training CLI
Python CLI
[train.py]"]
node_evaluate_cli["Evaluation CLI
Python CLI
[evaluate.py]"]
node_predict_cli["Prediction CLI
Python CLI
[predict.py]"]
node_quickstart["Offline smoke demo
example API
[quickstart.py]"]
end
subgraph group_core["Learning Core"]
node_model["NeuralNetwork
stateful model
[model.py]"]
node_activations["Activations
math module
[activations.py]"]
node_losses["Losses
math module
[losses.py]"]
node_training["Training loop
orchestrator
[training.py]"]
node_optimizers["Optimizers
update policies
[optimizers.py]"]
node_package_api["Package API
public exports
[__init__.py]"]
node_gradient_checks{{"Gradient checks
correctness guard
[test_gradients.py]"}}
end
subgraph group_data["Data and Reporting"]
node_data_loader["Data loader
ingestion adapter
[data_loader.py]"]
node_mnist_sources[("MNIST sources
external/local data")]
node_metrics["Classification metrics
reporting module
[metrics.py]"]
node_visualize["Visualization
plotting module
[visualize.py]"]
node_model_artifacts[("Saved models
NPZ artifacts")]
node_results["Plot outputs
generated artifacts"]
end
node_train_cli -->|"loads data"| node_data_loader
node_train_cli -->|"starts"| node_training
node_quickstart -->|"uses API"| node_model
node_package_api -->|"exports"| node_model
node_data_loader -->|"acquires"| node_mnist_sources
node_data_loader -->|"normalized arrays"| node_training
node_training -->|"forward and backward"| node_model
node_training -->|"applies updates"| node_optimizers
node_model -->|"hidden layers"| node_activations
node_model -->|"cross-entropy and L2"| node_losses
node_training -->|"validation predictions"| node_metrics
node_training -->|"training history"| node_visualize
node_train_cli -->|"saves NPZ"| node_model_artifacts
node_evaluate_cli -->|"loads NPZ"| node_model_artifacts
node_predict_cli -->|"loads NPZ"| node_model_artifacts
node_evaluate_cli -->|"evaluates predictions"| node_metrics
node_evaluate_cli -->|"renders reports"| node_visualize
node_predict_cli -->|"renders samples"| node_visualize
node_visualize -->|"writes plots"| node_results
node_gradient_checks -.->|"checks gradients"| node_model
node_gradient_checks -.->|"varies L2 loss"| node_losses
click node_train_cli "https://github.com/seicq/neural-network-from-scratch/blob/main/scripts/train.py"
click node_evaluate_cli "https://github.com/seicq/neural-network-from-scratch/blob/main/scripts/evaluate.py"
click node_predict_cli "https://github.com/seicq/neural-network-from-scratch/blob/main/scripts/predict.py"
click node_quickstart "https://github.com/seicq/neural-network-from-scratch/blob/main/examples/quickstart.py"
click node_model "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/model.py"
click node_activations "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/activations.py"
click node_losses "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/losses.py"
click node_training "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/training.py"
click node_optimizers "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/optimizers.py"
click node_package_api "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/__init__.py"
click node_data_loader "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/data_loader.py"
click node_metrics "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/metrics.py"
click node_visualize "https://github.com/seicq/neural-network-from-scratch/blob/main/src/neural_network/visualize.py"
click node_gradient_checks "https://github.com/seicq/neural-network-from-scratch/blob/main/tests/test_gradients.py"
classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
class node_train_cli,node_evaluate_cli,node_predict_cli,node_quickstart toneBlue
class node_model,node_activations,node_losses,node_training,node_optimizers,node_package_api,node_gradient_checks toneAmber
class node_data_loader,node_mnist_sources,node_metrics,node_visualize,node_model_artifacts,node_results toneMint
```