Single-line inference of SOTA deep learning models
Project description
Single-Line Deep Learning
Most of the practicle tasks that require the usage of deep learning models can be simplified to "just do the thing", e.g., "just upscale the image". On the other hand, official repositories of the state-of-the-art methods are dedicated to provide a way to reproduce experiments presented in the paper. These two different tasks require different code structure, so I made this library that provides an ultimative single-line solution for practical tasks solved by the SOTA methods. For instance, to "just upscale the image" you can just run the following code:
from PIL import Image
from sldl.image import ImageSR
sr = ImageSR('BSRGAN')
img = Image.open('test.png')
upscaled = sr(img)
Overview
SLDL is written in PyTorch and tries not to change the original author's implementation and, at the same time, provide the fastest inference and the most convinient interface. Note that SLDL doesn't provide any interface to train or fine-tune the models.
Each method is a torch.nn.Module
that has a __call__
method that solves your task. The library tries to provide the most practical interface, so it operates with Pillow images and video files in order to use the upscaler in your program and to just upscale your video.
Currently two types of tasks are supported.
Images
- Denoising: SwinIR
- Super-resolution: BSRGAN, SwinIR
Videos
- Denoising: SwinIR
- Super-resolution: BSRGAN, SwinIR, VRT
Usage
For images, run this
from PIL import Image
from sldl.image import ImageSR
img = Image.open('test.png')
sr = ImageSR('BSRGAN') # or 'SwinIR-M', 'SwinIR-L', 'BSRGANx2'
# sr = sr.cuda() if you have a GPU
upscaled = sr(img)
For videos, run this
from sldl.video import VideoSR
sr = VideoSR('BSRGAN')
sr('your_video.mp4', 'upscaled_video.mp4')
Plans
- Make this a usable Python package
- Prettify the code, write the docs
- Add image deblurring, face generation, machine translation, etc
- Add more models like RealESRGAN
- Make inference optimizations like
torch.compile
and TensorRT - CLI tool and Docker image
- Ready-to-go REST API deployment
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sldl-0.0.2.tar.gz
.
File metadata
- Download URL: sldl-0.0.2.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2db17aecd9d04f33dfb88a61b31709b47603090e4bb0d7b190d7842f6adec38a |
|
MD5 | fd3aa4981957c447b8d998cd35b7567a |
|
BLAKE2b-256 | 0c32182778617b3ad69253644b8cf4bd10cc0c977e708c47cdc37cbd0755e51c |
File details
Details for the file sldl-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: sldl-0.0.2-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5809df54e0814f22c19f0413d082e06478260425aa294df617b874a19ee4e8a6 |
|
MD5 | 941919fcf2b7dc448a65c14848268353 |
|
BLAKE2b-256 | 473a3f6d2644df4e42848c5f4a12bbe6caf196819700280763b31f59b3d3c4e8 |