Highly parallel simulation and optimization of photonic circuits in time and frequency domain based on the deep-learning framework PyTorch
Photontorch is a photonic simulator for highly parallel simulation and optimization of photonic circuits in time and frequency domain. Photontorch features CUDA enabled simulation and optimization of photonic circuits. It leverages the deep learning framework PyTorch to view the photonic circuit as essentially a recurrent neural network. This enables the use of native PyTorch optimizers to optimize the (physical) parameters of the circuit.
Photontorch can be installed with pip:
pip install photontorch
During development or to use the most recent Photontorch version, clone the repository and link with pip:
git clone https://git.photontorch.com/photontorch.git
./install-git-hooks.sh # Unix [Linux/Mac/BSD/...]
install-git-hooks.bat # Windows
pip install -e photontorch
During development, use pytest to run the tests from within the root of the git-repository:
pytest tests
Read the full documentation here: https://docs.photontorch.com
pytorch>=1.5.0
: conda install pytorch
(see pytorch.org for more installation options for your CUDA version)numpy
: conda install numpy
scipy
: conda install scipy
tqdm
: conda install tqdm
[progress bars]networkx
: conda install networkx
[network visualization]matplotlib
: conda install matplotlib
[visualization]pytest
: conda install pytest
[to run tests]pandoc
: conda install pandoc
[to generate docs]sphinx
: pip install sphinx nbsphinx
[to generate docs]torch-lfilter
: pip install torch-lfilter
[faster lfilter for detectors]If you're using Photontorch in your work or feel in any way inspired by it, we ask you to cite us in your work:
Floris Laporte, Joni Dambre, and Peter Bienstman. "Highly parallel simulation and optimization of photonic circuits in time and frequency domain based on the deep-learning framework PyTorch." Scientific reports 9.1 (2019): 5918.
Photontorch used to be available under a custom Academic License, but Since October 2020, Photontorch is now fully open source and available under the AGPLv3.
Copyright © 2020, Floris Laporte - UGent - AGPLv3