Skip to main content

Nanophotonic Neural Network Simulator

Project description

neuroptica Documentation Status Build Status

neuroptica is a flexible chip-level simulation platform for nanophotonic neural networks written in Python/NumPy. It provides a wide range of abstracton levels for simulating optical NN's: the lowest-level functionality allows you to manipulate the arrangement and properties of individual phase shifters on a simulated chip, and the highest-level features provide a Keras-like API for designing optical NN by stacking network layers.


The easiest way to get started with neuroptica is to install directly from the Python package manager:

pip install neuroptica

Alternately, you can clone the repository source code and edit it as needed with

git clone

and in your program or notebook, add

import sys

Getting started

For an overview of neuroptica, read the documentation. Example notebooks are included in the neuroptica-notebooks repository:

neuroptica training demo


neuroptica was written by Ben Bartlett, Momchil Minkov, Tyler Hughes, and Ian Williamson.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for neuroptica, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size neuroptica-0.1.0-py3-none-any.whl (30.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size neuroptica-0.1.0.tar.gz (22.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page