After completing the training epochs, the optimal state of the network is fully captured within its weight matrices ($W_{ih}$ and $W_{ho}$). These resulting numerical arrays act as the permanent "memory" of the model.
```python
# Display the final trained weight matrices
# Displaying only a representative 3x3 slice to keep the notebook clean
print("FINAL WEIGHTS: HIDDEN TO OUTPUT LAYER (Who)")
print(f"Matrix Dimensions: {MyANN.who.shape}")
print("-" * 50)
print(MyANN.who[:3, :3])
print("\n" + "="*50 + "\n")
print("FINAL WEIGHTS: INPUT TO HIDDEN LAYER (Wih)")
Evaluating model performance using unseen test data. A new sample is normalized and processed to extract the final prediction vector, which is then visually compared to the ground truth image.
Evaluating model performance using unseen test data. A new sample is normalized and processed to extract the final prediction vector, which is then visually compared to the ground truth image.