Practical overview
When it fits
Use it when you need a code-based starting point for the documented PyNET RAW-to-RGB testing or training workflows and can provide the required Python packages, model or dataset files, and suitable compute.
Who it is for
- Developers exploring RAW-to-RGB processing in PyTorch
- Computational-photography researchers studying mobile-camera image processing
- Teams evaluating a neural-network component for a camera or image-processing pipeline
Documented uses
- Test a pretrained PyNET model on full-resolution RAW images
- Train the network level by level using the Zurich RAW-to-RGB dataset
- Inspect or adapt a PyTorch implementation of a research RAW-to-RGB approach
Requirements & limits
- The repository provides an alternative PyTorch implementation; the original TensorFlow code and pretrained models are identified separately.
- The pretrained model's documented input example is full-resolution 12MP DNG captured with a Sony Exmor IMX380 sensor.
- The documented stack includes Python, SciPy, NumPy, imageio, Pillow, PyTorch and TorchVision.
- Training is staged across levels 5 to 0 and may require batch-size adjustment for GPU memory.
- The README's testing options include a CPU/GPU selection, while its listed prerequisites include an Nvidia GPU.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Test the provided pretrained model on full-resolution RAW images
Prepare the documented model and dataset folders, then run the repository's full-resolution pretrained-model test.
Before you start
- Python with scipy, numpy, imageio and pillow
- PyTorch and TorchVision
- The README-listed Nvidia GPU prerequisite
- The pretrained PyNET model file
- The Zurich RAW-to-RGB dataset
Steps
Download the pretrained PyNET model and place it in models/original/.
Download and extract the Zurich RAW-to-RGB dataset into raw_images/, with train/, test/ and full_resolution/ subfolders.
From the repository, run the command below.
python test_model.py level=0 orig=true
Expected outcome
The documented test workflow runs the provided pretrained model on full-resolution RAW images and saves visual results under results/full-resolution/.
Guide limitations
- The README describes the pretrained model for 12MP DNG images captured with the Sony Exmor IMX380 sensor; it does not establish support for other cameras or RAW formats.
- The README notes that Google Drive may impose a daily download quota for the dataset.
- Although the prerequisites list an Nvidia GPU, the testing options also document
use_gpu=trueorfalse; no broader hardware compatibility is implied.
Train PyNET through its documented levels
Prepare the training dataset and invoke the documented level-by-level training commands.
Before you start
- Python with scipy, numpy, imageio and pillow
- PyTorch and TorchVision
- Nvidia GPU
- The Zurich RAW-to-RGB dataset extracted into raw_images/
Steps
Place the dataset in raw_images/ with train/, test/ and full_resolution/ subfolders.
Start at level 5 and run the command below.
python train_model.py level=5Continue through levels 4, 3, 2, 1 and 0, following the README's level-by-level sequence.
Expected outcome
The repository's documented training process saves models and logs under models/ and visual training results under results/.
Guide limitations
- The README says training begins at level 5 and proceeds through level 0; it does not describe this sequence as a single command.
- Batch size may need adjustment to available GPU memory; the README warns that small batch sizes can lead to unstable training.
- The dataset is a separate download, and the README notes a possible Google Drive daily download quota.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- aiff22/PyNET-PyTorch · Official homepage title · retained in its source language

