Pytorch Implementation of the paper "INNSE: Invertible Neural Network-Based DNA Image Storage with Self-Correction Encoding".
- Python 3 via Anaconda (recommended)
- PyTorch >= 1.0
- NVIDIA GPU + CUDA
- Python Package: pip install numpy opencv-python lmdb pyyaml
The training and test data sets for the image can be downloaded here. The training and test data sets for the video can be downloaded here.
All the implementation is in /codes
. To run the code,
select the corresponding configuration file in /codes/options/
and run as following command:
python train.py -opt options/train/train_I_IRN_x4.yml
python train.py -opt options/train/train_V_IRN_x4.yml
python test.py -opt options/test/test_I_IRN_x4.yml
python test.py -opt options/test/test_V_IRN_x4.yml
python encode.py -opt options/en_decode/encode_I_IRN_x4.yml
python decode.py -opt options/en_decode/decode_I_IRN_x4.yml
python encode.py -opt options/en_decode/encode_V_IRN_x4.yml
python decode.py -opt options/en_decode/decode_V_IRN_x4.yml
Our project is heavily based on Invertible-Image-Rescaling and Video Rescaling Networks with Joint Optimization Strategies for Downscaling and Upscaling as basic framework.