This project has been developed and tested with python 3.8. The required libraries are:
- PyTorch: for the implementation of deep learning models, methods. If you don't have it, you can download it by following the instructions here.
The goal of the mini-projects is to implement a Noise2Noise model. A Noise2Noise model is an image denoising network trained without a clean reference image. The original paper can be found at here.
The project has two parts, focusing on two different facets of deep learning. The first one is to build a network that denoises using the PyTorch framework, in particular the torch.nn modules and autograd. The second one is to understand and build a framework, its constituent modules, that are the standard building blocks of deep networks without PyTorch’s autograd.
- Dataset is available here.
- Please put
train_data.pkl
andval_data.pkl
inside bothMiniproject_1\others\dataset
andMiniproject_2\others\dataset
folders.
├── Miniproject_1
│ ├── __init__.py
│ ├── model.py
│ ├── bestmodel.pth
│ ├── Report_1.pdf
│ ├── results.pkl
│ ├── Experiments.ipynb
│ └── others
│ ├── Config.py
│ ├── dataset
│ │ ├── train_data.pkl
│ │ └── val_data.pkl
│ ├── dataset.py
│ └── nets
│ ├── DeepLabV3.py
│ ├── unet.py
│ ├── unet2.py
│ └── unet3.py
└── Miniproject_2
├── __init__.py
├── model.py
├── bestmodel.pth
├── Report_2.pdf
├── results.pkl
├── Experiments.ipynb
└── others
├── Config.py
├── dataset
│ ├── train_data.pkl
│ └── val_data.pkl
├── dataset.py
├── helpers_functional.py
├── helpers_layer.py
├── dataset
├── nets
│ └── unet.py
└── testing_custom_blocks
├── testing_conv2d.py
└── testing_convtranspose2d.py
Put your test.py in the base directory and Run python3 test.py -p "./PROJ_336006_SCIPER2_287703" -d "./PROJ_336006_SCIPER2_287703/Miniproject_1/others/dataset/"
in your terminal. This command does all your testings.
You can also test Conv2D function by comparing with PyTorch one. To do so, Run
python3 test.py -p "./PROJ_336006_SCIPER2_287703" -d "./PROJ_SCIPER1_SCIPER2_287703/Miniproject_1/others/dataset/"
Reports for Mini Project 1 and 2 can be found in Miniproject_1\Report_1.pdf
and Miniproject_2\Report_2.pdf
respectively.