Skip to main content

Introduction

The UC Intel Final dashboard is a professional multi-page ML application built with Streamlit for malware image classification using PyTorch. It provides an end-to-end workflow from dataset configuration to model training and evaluation.

Dashboard Architecture

The dashboard follows a self-contained page architecture with the following principles:
  • Self-Contained Pages: Each feature is isolated in its own folder under app/content/
  • Tab-Based Organization: Complex pages split content into multiple tab files
  • State Management: Centralized state access through state/ module functions
  • Flat Components: Shared UI components in components/ directory
The dashboard is organized into two main sections:
1

Main

  • Home & Session: Project overview, workflow diagram, and quick start guide
2

Workflow

The core ML pipeline follows this sequence:
  1. Dataset Configuration: Configure data splits and augmentation
  2. Model Builder: Design CNN, Transformer, or Transfer Learning architectures
  3. Training Configuration: Set hyperparameters and training options
  4. Monitor Training: Start training and watch real-time progress
  5. Results & Evaluation: View metrics, confusion matrix, and training curves
  6. Interpretability: Visualize model attention with Grad-CAM and embeddings

Key Features

Core Infrastructure

  • Self-contained page architecture with absolute imports
  • Session management with persistence across page reloads
  • Theme customization with color presets
  • GPU detection and memory monitoring
  • Configuration status indicators in sidebar

ML Workflow

  • Dataset Module: Automated scanning, train/val/test splits, class selection, augmentation
  • Model Module: Custom CNN builder, Transformer architectures, Transfer Learning
  • Training Module: Optimizer configuration, learning rate schedules, callbacks
  • Monitoring: Live training updates with real-time metrics
  • Evaluation: Comprehensive metrics, confusion matrices, per-class analysis
  • Interpretability: Grad-CAM, t-SNE embeddings, misclassification analysis

Workflow Diagram

The dashboard follows this logical flow:

Getting Started

1

Launch the Dashboard

cd app
streamlit run main.py
The app opens at http://localhost:8501
2

Create a New Session

Click New Session in the header to start fresh, or use Past Sessions to load saved work
3

Follow the Workflow

Navigate through the pages in sequence:
  • Configure dataset
  • Design model architecture
  • Set training parameters
  • Monitor training progress
  • Analyze results

Page URLs

Each page has a dedicated URL path:
  • /home - Home & Session Setup
  • /dataset - Dataset Configuration (4 tabs)
  • /model - Model Builder
  • /training - Training Configuration
  • /monitor - Training Monitor
  • /results - Results & Evaluation
  • /interpretability - Model Interpretability
The sidebar shows real-time configuration status:
  • Dataset configured: Train/val/test split and augmentation saved
  • Model configured: At least one model saved to library
  • Training configured: Training hyperparameters saved
Status indicators update automatically as you complete each configuration step.

Theme Customization

Access theme settings in the sidebar:
  • Color Pickers: Primary, Secondary, Background colors
  • Presets: Soft Green (default), Soft Blue, Soft Pink, Soft Orange
  • Theme colors persist across sessions via CSS injection

Session Management

All configuration is automatically saved to session state:
  • Auto-save: Configuration persists during navigation
  • Session History: Load previous sessions from header dropdown
  • Export: Download training history and model checkpoints
Use “New Session” to start fresh with default settings. Previous sessions remain available in the dropdown.

Next Steps

Explore the detailed guides for each dashboard page:

Dataset Configuration

Learn how to configure your malware dataset

Model Builder

Design custom CNN, Transformer, or Transfer Learning models

Training Configuration

Set up optimizers, learning rates, and callbacks

Training Monitor

Watch real-time training progress

Build docs developers (and LLMs) love