Skip to main content

AnalogVNN

arXiv AML Open In Colab

PyPI version Documentation Status Python License: MPL 2.0

Documentation: https://analogvnn.readthedocs.io/

Installation:

  # Current stable release for CPU and GPU
  pip install analogvnn
  
  # For additional optional features
  pip install analogvnn[full]

Usage:

Open In Colab

Abstract

3 Layered Linear Photonic Analog Neural Network

AnalogVNN is a simulation framework built on PyTorch which can simulate the effects of optoelectronic noise, limited precision, and signal normalization present in photonic neural network accelerators. We use this framework to train and optimize linear and convolutional neural networks with up to 9 layers and ~1.7 million parameters, while gaining insights into how normalization, activation function, reduced precision, and noise influence accuracy in analog photonic neural networks. By following the same layer structure design present in PyTorch, the AnalogVNN framework allows users to convert most digital neural network models to their analog counterparts with just a few lines of code, taking full advantage of the open-source optimization, deep learning, and GPU acceleration libraries available through PyTorch.

AnalogVNN Paper: https://doi.org/10.1063/5.0134156

Citing AnalogVNN

We would appreciate if you cite the following paper in your publications for which you used AnalogVNN:

@article{shah2023analogvnn,
  title={AnalogVNN: A fully modular framework for modeling and optimizing photonic neural networks},
  author={Shah, Vivswan and Youngblood, Nathan},
  journal={APL Machine Learning},
  volume={1},
  number={2},
  year={2023},
  publisher={AIP Publishing}
}

Or in textual form:

Vivswan Shah, and Nathan Youngblood. "AnalogVNN: A fully modular framework for modeling 
and optimizing photonic neural networks." APL Machine Learning 1.2 (2023).
DOI: 10.1063/5.0134156

Metadata

Release files for analogvnn 1.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for analogvnn 1.0.8
File Size Uploaded
analogvnn-1.0.8.tar.gz 48.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for analogvnn 1.0.8
File Interpreter ABI Platform
analogvnn-1.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 120.6 kB

Release files / analogvnn-1.0.8.tar.gz

Download URL analogvnn-1.0.8.tar.gz
Size 48.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4f55a5f616c0f418dfe7588d84580f650af91c259822ac0fbeaea02e525c9952
BLAKE2b-256 checksum
How to use checksums
3b13905fc48d535460a54f800e13a90b6c7e5a62e8c04ac3e17666bdc0cbec64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.8.19

Release files / analogvnn-1.0.8-py3-none-any.whl

Download URL analogvnn-1.0.8-py3-none-any.whl
Size 72.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09921cc404795f52157911f809bd2cc28032c758c5ed5d597e44612022c03c51
BLAKE2b-256 checksum
How to use checksums
2bd2780468f316cf25526fdd787893f5722d1e37061539d7639535cf58e16184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.8.19
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page