Built things

Projects

Selected open-source work and code releases. Full list on GitHub.

PyTorch Captum

tool · 2024

Lead maintainer and release lead of PyTorch Captum — the official interpretability library for the PyTorch ecosystem. 5.6K+ GitHub stars, ~461K monthly PyPI downloads. My work spans attribution methods, perturbation-based explainers, GenAI attribution support, release engineering, type/test health, and tutorials.

[code] [link]

ProtoFlow

research · 2024

Reference implementation of *This Probably Looks Exactly Like That: An Invertible Prototypical Network* (ECCV 2024). Combines prototypical networks with normalizing flows to produce a model that is jointly predictive, generative, and intrinsically interpretable — state-of-the-art across classification, density estimation, calibration, and prototype faithfulness.

[code] [paper]

Three-act animation contrasting vanilla ProtoPNet's point prototypes with ProtoFlow's invertible flow + distribution prototypes

PostHocExplainerEvaluation

research · 2023

Evaluation framework for post hoc explanation methods that uses feature-additive predictors (where ground-truth attribution is known) to stress-test SHAP, LIME, and related explainers. Reproducibility code for *How Well Do Feature-Additive Explainers Explain Feature-Additive Predictors?* (NeurIPS XAI workshop 2023).

[code] [paper]

Unfooling Post Hoc Explainers

research · 2023

Defense against adversarial attacks on perturbation-based explainers (SHAP/LIME). Detects malicious auditees that hide bias behind a sanitized explanation and recovers the faithful attribution. Reference implementation for *Unfooling Perturbation-Based Post Hoc Explainers* (AAAI 2023).

[code] [paper]

Three-act animation showing the Slack et al. scaffolding attack and the CAD-Defend defense from the Unfooling paper

Pixel-Grounded ProtoPNets (PixPNet)

research · 2024

Receptive-field-constrained architecture and corrected pixel-space mapping for prototypical part networks. Shows that vanilla ProtoPNet's "this looks like that" bounding boxes are typically misleading — the embedded patch's actual receptive field is ~100% of the input. PixPNet is the only prototypical-part network whose explanations truly localize to image parts. Reference implementation for *Pixel-Grounded Prototypical Part Networks* (WACV 2024).

[code] [paper]

Three-act animation showing why vanilla ProtoPNet visualizations are misleading and how PixPNet's receptive-field-constrained architecture fixes them

Earlier work

Student-era projects, kept for reference.

Tiger Taxi — Autonomous Golf Cart

experiment · 2018

Senior design team project bringing autonomy to an RIT campus golf cart. Integrated SLAM, multi-modal sensors, aerial map priors, and a CNN via ROS for an autonomous people-mover demonstration.

[link]

RIT autonomous golf cart project (Tiger Taxi)

CNN Loop-Closure Detection

experiment · 2017

Applied convolutional neural networks to loop-closure detection for visual SLAM. Compared CNN feature extractors via PCA-projected Euclidean similarity on the Oxford vSLAM datasets, evaluated by average precision.

[code]

Loop-closure detection example output on the Oxford New City dataset

Variable-Length Phoneme Classification with Deep ESNs

experiment · 2018

Novel deep echo state network topology with variable connectivity and a brain-inspired intrinsic-plasticity mechanism (constraining neuronal activations to a known distribution). Evaluated on TIMIT phoneme classification with MFCC preprocessing.