• Stars
    star
    141
  • Rank 258,296 (Top 6 %)
  • Language
    Python
  • License
    Other
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenCL implementation of waifu2x image upscaling

cl-waifu2x

WARNING: This software is under active development and not yet inteded for production or use by end-users. It is not yet optimized. Tread with caution.

cl-waifu2x is an implementation of the waifu2x algorithm in OpenCL. It focuses on use of the neural network algorithm, not its training, and therefore it relies on models produced with the original waifu2x.

cl-waifu2x aims to be compatible with most mainstream OpenCL implementations, including GPU-based and CPU-based ones from major vendors.

Based on waifu2x by nagadomi.

Dependencies

  • Python 2.7
  • numpy
  • scipy
  • PIL (or Pillow)
  • PyOpenCL

And an OpenCL implementation.

Usage

$ python2 cl-waifu2x.py miku_small.png miku_small_cl.png models/scale2.0x_model.json
Choose platform:
[0] <pyopencl.Platform 'Intel(R) OpenCL' at 0x7fa4d7f10110>
[1] <pyopencl.Platform 'NVIDIA CUDA' at 0x7fa4d8026f80>
Choice [0]:
Set the environment variable PYOPENCL_CTX='' to avoid being asked again.
100.0%...Done
29004 pixels/sec
925359122 ops/sec

OpenCL implementations that are being used for testing:

  • Intel (CPU) (test platform: Intel Core i7 3820QM)
  • Nvidia (GPU) (test platform: Nvidia GeForce GTX 660M)

Performance

The current kernel is very dumb and not yet GPU-optimized. Performance is currently about equal on CPU and GPU, and about 6 times slower than the original waifu2x CUDA version on the same GPU, though also several times faster than the trivial single-threaded waifu2x.py on the same CPU.

More Repositories

1

takeover.sh

Wipe and reinstall a running Linux system via SSH, without rebooting. You know you want to.
Shell
7,091
star
2

speculation-bugs

Docs and resources on CPU Speculative Execution bugs
368
star
3

openlase

Open source realtime laser graphics framework
C
338
star
4

blitzloop

Open source karaoke software
Python
197
star
5

lsirec

LSI SAS2008/SAS2108 low-level recovery tool for Linux
C
186
star
6

rtlmic

Wireless FM microphone receiver for RTL-SDR
C
88
star
7

deresuteme

The code behind https://deresute.me
Python
77
star
8

asbestos

PS3 Linux bootloader
C
69
star
9

sigmafix

Make old Sigma lenses work on newer Canon bodies.
Assembly
58
star
10

qsw-tools

QNAP QSW switch tools
Python
52
star
11

certbot-external

Certbot plugin that uses an external shell script for domain validation
Shell
51
star
12

hackit

Hack It Framework
Python
27
star
13

cd-analysis

Scripts to analyze audio CD data quality
Python
24
star
14

circa

Consumer IR encoding/decoding/format conversion
Python
16
star
15

lighthouses_aicontest

Euskal Encounter 21 AI Contest
Python
15
star
16

xmos-speaker-dsp

5.1 speaker DSP controller firmware based on the XMOS USB 2.0 Multichannel Audio Reference board
XC
13
star
17

skyeye-starlet

Very hacky Starlet emulator. Here be dragons, this was never meant to be released.
C
11
star
18

blitzloop-tools

Python
10
star
19

esp-sensornode

ESP8266 + BME280 sensor node
C
9
star
20

pacemaker-exporter

Prometheus Pacemaker exporter
Python
9
star
21

spmp

Misc SPMP305x development
C
8
star
22

mt7687flash

Portable MT7687 flasher/recovery utility
Python
8
star
23

kinlarm

Kinect security system
Python
8
star
24

openlase-vj

OpenLASE based live lasershow thing
Python
4
star
25

ctf

Random CTF tools and writeups
Python
4
star
26

blitzloop-songs

Public BlitzLoop songs repository
2
star
27

crinklux

Linker script hack to build small demos for Linux
C
2
star
28

jacktools

Misc JACK-related tools
Python
2
star
29

music-stuff

sheet music and other musical shenanigans
2
star
30

unity-obj-exporter

Export .obj from .unity3d
JavaScript
2
star
31

uhub-proxy

Scalable frontend for uhub
Rust
1
star