Alex, one of the Connectionists!
Alexander G. Ororbia II
Assistant Professor
PhD, Information & Science Technology (The Pennsylvania State University), Minor in Social Data Analytics
B.S.E., Computer Science & Engineering (Bucknell University, U.S.A.), Minors in Mathematics & Philosophy
Director, Neural Adaptive Computing (NAC) Laboratory
Department of Computer Science
Rochester Institute of Technology (NY, USA)

Office: Golisano Hall Rm. 3537
Email: agovcs AT rit DOT edu (Teaching/Advising), ago AT cs DOT rit DOT edu

[ Home ] -- [ For Students ] -- [ Teaching ] -- [ Research ] -- [ Publications ] -- [ Talks ] -- [ Software ] -- [ The NAC Lab ] -- [ Academic Genealogy ]


NGC-Learn: Predictive Processing in Python

ngc-learn is a Python library that was specifically designed for building, simulating, and analyzing arbitrary predictive processing (or predictive coding) models based on the neural generative coding (NGC) computational framework. This toolkit, distributed under the 3-Clause BSD license, is built on top of Tensorflow 2. Note that ngc-learn's nodes-and-cables system is quite general and can even be used to build non-predictive processing models, such as those that are learned with contrastive Hebbian learning. One of ngc-learn's key aims is to offer a flexible, powerful tool to aid researchers and students alike, across the fields of statistical learning, computational neuroscience, and cognitive science, in developing computational simulations of, experimenting with, and studying neural systems that infer and learn in a more neurobiological, neurocognitive fashion.

Notably, ngc-learn offers the "Model Museum", which is a growing collection of classical and modern proposed models often built from predictive processing ideas. Key works that it can already reproduce include the classical sparse coding model of (Olshausen & Field, 1996), the predictive coding network (PCN) of (Whittington & Bogacz, 2017), and the generative predictive coding models of (Rao & Ballard, 1999, Friston 2008; and Ororbia & Kifer, 2022). Notably, many of these models can be built, studied, and worked with under ngc-learn's tutorials (or "demonstrations").

This library is continually evolving, so stay updated by checking its Github page for the latest updates, upgrades, newest additions to the Model Museum, and new tutorials/demonstrations.

Link to the Github repo:
Link to the Documentation (with tutorials):
Link to Nature Blog Post:
The Reddit Post can be found here.