Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sldl-0.0.2.tar.gz (36.6 kB view details)

Uploaded Source

Built Distribution

sldl-0.0.2-py3-none-any.whl (39.5 kB view details)

Uploaded Python 3

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

Hashes for sldl-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2db17aecd9d04f33dfb88a61b31709b47603090e4bb0d7b190d7842f6adec38a
MD5 fd3aa4981957c447b8d998cd35b7567a
BLAKE2b-256 0c32182778617b3ad69253644b8cf4bd10cc0c977e708c47cdc37cbd0755e51c

See more details on using hashes here.

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

Hashes for sldl-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5809df54e0814f22c19f0413d082e06478260425aa294df617b874a19ee4e8a6
MD5 941919fcf2b7dc448a65c14848268353
BLAKE2b-256 473a3f6d2644df4e42848c5f4a12bbe6caf196819700280763b31f59b3d3c4e8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page