Official pytorch implementation of the paper: "Can the Success of Digital Super-Resolution Networks Be Transferred to Passive All-Optical Systems?"
This code has been tested on a Linux machine (Ubuntu 22.04.4 LTS) with NVIDIA GeForce GTX 2080 Ti GPU.
This code has the following dependencies:
python >= 3.8.12
torch >= 1.12.1
torchvision >= 0.13.1
numpy >= 1.23.4
tqdm >= 4.64.0
torchmetrics >= 1.4.0
Create a python virtual environment, install all dependecies using the requirements.txt file and then run the code on your computer.
cd DIR_NAME
python3 -m venv VENV_NAME
source VENV_NAME/bin/activate
pip install -r requirements.txt
Installation time should take around 10 minutes.
After installation one can run our code.
The data used in our work is the MNIST, FashionMNIST, Quick, Drae!, KMNIST and EMNIST datasets.
The MNIST, FashionMNIST and KMNIST datasets are available via torchvision. Quick, Draw! is avilable via their official github.
EMNIST dataset is available via their official website.
For both the KMNIST and EMNIST datasets we used the drop-in replacemnt for the MNIST dataset.
config.py include all the hyperparameters used for each trial. The different hyperparameters used for running different experiemnts are detailed in the paper.
python3 main_trials.py --epochs 1000 --lr 1e-1 --trial_name unique_trial_name
Our code is under the MIT License.
If you use this code for your research, please cite our paper:
@article{kleiner2025can,
title={Can the success of digital super-resolution networks be transferred to passive all-optical systems?},
author={Kleiner, Matan and Michaeli, Lior and Michaeli, Tomer},
journal={Nanophotonics},
volume={14},
number={19},
pages={3181--3190},
year={2025},
publisher={De Gruyter}
}