Welcome to ¶
- What PsyNeuLink is NOT
- Environment Overview
- Indices and tables
PsyNeuLink is an open-source, software environment written in Python, and designed for the needs of neuroscientists, psychologists, computational psychiatrists and others interested learning about and building models of the relationship between brain function, mental processes and behavior.
PsyNeuLink can be used as a “block modeling environment”, in which to construct, simulate, document, and exchange computational models of neural mechanisms and/or psychological processes at the subsystem and system levels. A block modeling environment allows components to be constructed that implement various, possibly disparate functions, and then link them together into a system to examine how they interact. In PsyNeuLink, components are used to implement the function of brain subsystems and/or psychological processes, the interaction of which can then be simulated at the system level.
The purpose of PsyNeuLink is to make it as easy as possible to create new and/or import existing models, and integrate them to simluate system-level interactions. It provides a suite of core components for implementing models of various forms of processing, learning, and control, and its Library includes examples that combine these components to implement published models. As an open source project, its suite of components is meant to be enhanced and extended, and its library is meant to provide an expanding repository of models, written in a concise, executable, and easy to interpret form, that can be shared, and compared by the scientific community.
- open source, freeing users of the costs or restrictions associated with proprietary software.
- computationally general – it can be used to implement, seamlessly integrate, and simulate interactions among disparate components that vary in their granularity of representation and function (from individual neurons or neural populations to functional subsystems and abstract cognitive functions) and at any time scale of execution.
- integrative – it provides a standard and accessible environment for model comparison, sharing, and documentation;
- extensible – it has an interface (API) that allows it to be used with other powerful tools for implementing individual components, such as: * Neuron (biophysically realistic models of neuronal function) * TensorFlow (ODE’s, deep learning); * Emergent (broad class of neurally-plausible connectionist models); * ACT-R (symbolic, production system models).
PsyNeuLink is alpha software, that is still being actively developed. Although it is useable, and most of the documented functionality is available, some features may not yet be fully implemented and/or subject to modification. Please report any bugs and/or suggestions for development to firstname.lastname@example.org.
PsyNeuLink is written in Python, and conforms to the syntax, coding standards and modular organization shared by most Python packages. Basics and Sampler provides an orientation to PsyNeuLinks Components, some examples of what PsyNeuLink models look like, and some of its capabilities. Quick Reference provides an overview of how PsyNeuLink is organized and some of its basic principles of operation. The Tutorial provides an interactive guide to the construction of models using PsyNeuLink. Core contains the fundamental constructs out of which PsyNeuLink models are built, and Library contains extensions, including speciality components and implemented models.
PsyNeuLink is compatible with python versions >= 3.5, and is available through PyPI:
pip install psyneulink
All prerequisite packages will be automatically added to your environment.
If you downloaded the source code, navigate to the cloned directory in a terminal, switch to your preferred python3 environment, then run
pip install .
Lists of required packages for PsyNeuLink, developing PsyNeuLink, and running the PsyNeuLink tutorial are also
stored in pip-style
tutorial_requirements.txt in the source code.
If you have trouble installing the package, or run into other problems, please contact email@example.com.
PsyNeuLink includes a tutorial, available
here, that provides examples of how to create basic Components
in PsyNeuLink, and combine them into Processes and a System. The examples include construction of a simple
decision making process using a Drift Diffusion Model, a neural network model of the Stroop effect, and a
backpropagation network for learning the XOR problem.
The tutorial currently requires python 3.5, and additional packages; to install the required tutorial packages, you may use PyPI:
pip install psyneulink[tutorial]
or if you downloaded the source:
pip install .[tutorial]
To access the tutorial, make sure you fulfill the requirements
mentioned above, download the
tutorial notebook, then run the terminal command
Once the notebook opens in your browser, navigate to the location where you saved the tutorial notebook, and click on “PsyNeuLink Tutorial.ipynb”.
- Allie Burton, Princeton Neuroscience Institute, Princeton University
- Jonathan D. Cohen, Princeton Neuroscience Institute, Princeton University
- Peter Johnson, Princeton Neuroscience Institute, Princeton University
- Kristen Manning, Princeton Neuroscience Institute, Princeton University
- K. Mantel, Princeton Neuroscience Institute, Princeton University
- Ted Willke, Intel Labs, Intel Corporation
- Changyan Wang, Princeton Neuroscience Institute, Princeton University
- Nate Wilson, Princeton Neuroscience Institute, Princeton University
With substantial and greatly appreciated assistance from:
- Abhishek Bhattacharjee, Department of Computer Science, Rutgers University
- Mihai Capota, Intel Labs, Intel Corporation
- Bryn Keller, Intel Labs, Intel Corporation
- Garrett McGrath, Princeton Neuroscience Institute, Princeton University
- Sebastian Musslick, Princeton Neuroscience Institute, Princeton University
- Amitai Shenhav, Cognitive, Linguistic, & Psychological Sciences, Brown University
- Michael Shvartsman, Princeton Neuroscience Institute, Princeton University
- Ben Singer, Princeton Neuroscience Institute, Princeton University
- Jan Vesely, Department of Computer Science, Rutgers University
Table of Contents¶
- Welcome to
- Basics and Sampler
- Quick Reference