NeuroScope Documentation¶
A microscope for neural networks - Comprehensive framework for building, training, and diagnosing multi-layer perceptrons with advanced monitoring and visualization capabilities.
NeuroScope provides a clean, education-oriented interface for building and analyzing multi-layer perceptrons with advanced diagnostic capabilities. Designed for rapid experimentation with comprehensive monitoring and visualization tools.
Getting Started¶
New to neuroscope? Start here:
Get up and running in minutes with installation, basic usage, and your first neural network.
Deep dive into advanced features, customization options, and comprehensive diagnosis book.
Research-backed explanations of all diagnostic issues with mathematical foundations and literature citations.
Complete API documentation with detailed function and class references.
Jupyter notebooks demonstrating real-world applications.
Source code, issues, and contributions on GitHub.
Key Features¶
Modern MLP Implementation¶
Flexible Architecture: Arbitrary layer sizes with customizable activations
Advanced Optimizers: SGD, Adam
Smart Initialization: He, Xavier, Random (Guassian) , Selu, and intelligent auto-selection
Regularization: L2 regularization, dropout with multiple variants
Comprehensive Diagnostics¶
Pre-Training Analysis: Architecture validation, weight initialization checks
Real-Time Monitoring: Dead neuron detection, gradient flow analysis
Post-Training Evaluation: Robustness testing, performance profiling
Research-Validated Metrics: Based on established deep learning principles
High Quality Visualization¶
Training Dynamics: Learning curves
Network Internals: Activation distributions, gradient flows, weight evolution
Diagnostic Plots: Health indicators, training stability metrics
Interactive Animations: Training progress visualization
Learning Path¶
Install neuroscope → Start with installation and setup
Quickstart Guide → Learn the basics with your first neural network
Build First Model → Create and train a simple classifier
Add Diagnostics → Use pre-training analysis and monitoring
Visualize Results → Create high quality plots
Advanced Usage → Explore customization and optimization
API Reference → Deep dive into all available functions
Examples Gallery → Study demo applications
Contribute → Help improve the framework
Quick Example¶
import numpy as np
from neuroscope import MLP, PreTrainingAnalyzer, TrainingMonitor, Visualizer
# Create and configure model
model = MLP([784, 128, 64, 10],
hidden_activation="relu",
out_activation="softmax")
model.compile(optimizer="adam", lr=1e-3)
# Pre-training analysis
analyzer = PreTrainingAnalyzer(model)
analyzer.analyze(X_train, y_train)
# Train with real time monitoring
monitor = TrainingMonitor()
history = model.fit(X_train, y_train,
X_test=X_val, y_test=y_val,
epochs=100,
monitor=monitor)
# Post-training evaluation
evaluator = PostTrainingEvaluator(model)
analyzer.evaluate(X_train, y_train)
# Visualize results
viz = Visualizer(history)
viz.plot_learning_curves()
viz.plot_activation_hist()
Community & Support¶
Report bugs and request features
Ask questions and get help
Help improve NeuroScope