Skip to content

ariaghora/ezpznet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interesting and reproducible research works should be conserved. Unfortunately, too many model repositories provide different ways to use. It is an obstacle for people who just want to use them right away, especially for those without luxury to (re)train big deep learning models. This repository aims to wrap a collection of deep neural network models into a simple and consistent API.

Installation

pip install git+https://github.com/ariaghora/ezpznet

It depends mainly on pytorch and torchvision.

Pretrained weights

Each model will download its own pretrained weight (once at the first time) at initialization. I host them in my personal OneDrive storage. Let me know if you have better options.

Available models

  • SketchGAN, AnimeGAN, SRGAN

SketchGAN

Simplify rough outline sketch.

from ezpznet.sketchgan import SketchGAN, load_image

image = load_image(image_path)
net = SketchGAN()
pred = net.predict(image)
plt.imshow(pred.squeeze(), cmap="gray")

(Art by Shinji)

References

  • PyTorch implementation is adopted from bobbens
  • Paper: Simo-Serra et al., Mastering Sketching: Adversarial Augmentation for Structured Prediction

AnimeGAN

Apply anime-ish effect to images.

from ezpznet.animegan import AnimeGAN, load_image

net = AnimeGAN(style="facepaint")
image = load_image(image_path)
pred = net.predict(image)
plt.imshow(pred)

When style="facepaint":

When style="hayao":

There are several styles available: facepaint (default), webtoon, shinkai, hayao, and paprika.

References

  • PyTorch implementation is adopted from bryandlee
  • Paper: Chen et al., AnimeGAN: A Novel Lightweight GAN for Photo Animation

SRGAN

GAN for super-resolution: upscale the resolution of an image and still keeping the detail, minimizing pixellated parts.

from ezpznet.srgan import SRGAN, load_image

srgan = SRGAN()
image = load_image(image_path)
pred = srgan.predict(image)

pred = ((pred + 1) / 2).squeeze().permute(1, 2, 0)
pred = (pred * 255).numpy().astype(np.uint8)
plt.imshow(pred)

References

  • PyTorch implementation is adopted from dongheehand
  • Paper: Ledig et al., Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network

About

A collection of easy-to-use, ready-to-use, interesting deep neural network models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages