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:

Quickstart Guide

Get up and running in minutes with installation, basic usage, and your first neural network.

Quickstart Guide
Advanced Usage

Deep dive into advanced features, customization options, and comprehensive diagnosis book.

Advanced Usage Guide
Technical Deep Dive

Research-backed explanations of all diagnostic issues with mathematical foundations and literature citations.

Technical Deep Dive: Neural Network Diagnostics
API Reference

Complete API documentation with detailed function and class references.

API Reference
Examples

Jupyter notebooks demonstrating real-world applications.

https://github.com/ahmadrazacdx/neuro-scope/tree/main/examples
GitHub Repository

Source code, issues, and contributions on GitHub.

https://github.com/ahmadrazacdx/neuro-scope

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

  1. Install neuroscope → Start with installation and setup

  2. Quickstart Guide → Learn the basics with your first neural network

  3. Build First Model → Create and train a simple classifier

  4. Add Diagnostics → Use pre-training analysis and monitoring

  5. Visualize Results → Create high quality plots

  6. Advanced Usage → Explore customization and optimization

  7. API Reference → Deep dive into all available functions

  8. Examples Gallery → Study demo applications

  9. 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

Issues

Report bugs and request features

https://github.com/ahmadrazacdx/neuro-scope/issues
Discussions

Ask questions and get help

https://github.com/ahmadrazacdx/neuro-scope/discussions
Contributing

Help improve NeuroScope

Contributor Guide