Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
8th July 2016, 15:35 | #1 | Link |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 392
|
Waifu2x-caffe
https://github.com/HomeOfVapourSynth...-Waifu2x-caffe
Another implementation of waifu2x, based on the waifu2x-caffe library. It can only run on NVIDIA GPU. |
19th September 2016, 17:40 | #4 | Link |
Registered User
Join Date: Sep 2016
Posts: 67
|
Out of curiosity, why does Waifu2x caffe support non-integer scaling when this version doesn't? 2.25x scaling would be perfect for 480p -> 1080p.
EDIT: Also, great filter BTW. This is by far the best animation scaling I've seen. Last edited by brucethemoose; 19th September 2016 at 20:37. |
20th September 2016, 13:56 | #5 | Link |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 392
|
Internally the image is always enlarged by a power of 2. So even you specify a scale ratio of 2.25x, the program still enlarges the image to 4x first. It then downscales the 4x image to the final resolution afterwards. I simply don't want to hardcode the downscaling part in my filter. It's up to the users to decide which resizer to use for downscaling.
|
1st June 2017, 11:22 | #7 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,846
|
I try to replicate an exception posted to the staxrip issue tracker, the user is getting E_ACCESSDENIED after staxrip calls TaskDialog to show an error returned from VapourSynth, I get following error:
Python exception: Waifu2x-caffe: failed open model file at initialization Where can I find this model file? Code:
import vapoursynth as vs core = vs.get_core() core.std.LoadPlugin(r"D:\Projekte\VS\VB\StaxRip\bin\Apps\Plugins\vs\fmtconv\fmtconv.dll") core.std.LoadPlugin(r"D:\Projekte\VS\VB\StaxRip\bin\Apps\Plugins\vs\vslsmashsource\vslsmashsource.dll") clip = core.lsmas.LWLibavSource(r"D:\Temp\staxrip\ash.mkv") core.std.LoadPlugin(path=r'D:\Temp\Waifu2x-caffe-r8\Win64\Waifu2x-caffe.dll') clip = core.fmtc.bitdepth(clip,bits=32) clip = core.caffe.Waifu2x(clip, noise=1, scale=2, block_w=512, block_h=512, model=3, cudnn=True, processor=0, tta=False) clip.set_output()
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists |
1st June 2017, 18:12 | #9 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,846
|
Thanks, got it working now.
__________________
https://github.com/stax76/software-list https://www.youtube.com/@stax76/playlists |
3rd June 2017, 00:34 | #10 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,551
|
Thanks HolyWu,
I tested on some low to midrange cards, and this seems much faster than the vpy Waifu2x-w2xc implementation. Playing with the blocksize can make a big difference in the speed Offhand do you know of any big differences quality wise ? or would there be any reason NOT to switch to using the caffe version if you had a compatible GPU ? Last edited by poisondeathray; 3rd June 2017 at 00:40. |
3rd June 2017, 03:45 | #11 | Link |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 392
|
The difference in quality is quite minor. Actually the models 0~2 in caffe version are the same as w2xc version. The major difference is that caffe version has upconv_7 models and cuDNN support while w2xc version doesn't. Both of them primarily concern speed. There is really no reason to use w2xc version when you have a compatible NVIDIA GPU though.
|
12th June 2017, 16:48 | #13 | Link | |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 392
|
Quote:
I guess the color family of your clip is YUV? You will get slightly faster speed if you convert to RGB first before invoking the filter. Furthermore, tweak block_w/block_h setting so that it can divide the width/height of the clip with no remainder. Larger value isn't necessarily better because it has to do with the card's capability and/or memory size. You have to do experiments with some different values to find out the optimal pair for the specific resolution. |
|
12th June 2017, 17:19 | #14 | Link | |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
Quote:
|
|
13th June 2017, 06:37 | #15 | Link | |
Registered User
Join Date: Sep 2007
Posts: 5,551
|
Quote:
https://github.com/HomeOfVapourSynth...-Waifu2x-caffe Code:
block_w: The horizontal block size for dividing the image during processing. Smaller value results in lower VRAM usage, while larger value may not necessarily give faster speed. The optimal value may vary according to different graphics card and image size. block_h: The same as block_w but for vertical. Don't complain, this is much faster than the waifu w2xc implementation . And that was much much faster than the avisynth waifu2x implementation |
|
29th October 2018, 00:38 | #19 | Link |
Registered User
Join Date: May 2015
Posts: 14
|
Okay, where can I find any explanation what's UpResNet10? How much is it different from other models?
What's batch option for? I'm using GUI version for Windows. How can I encode video using this program? You posted the link for vapoursynth (whatever it is) but I don't get it how to compile it. Can't you upload it as you do with caffe-gui releases? |
29th October 2018, 02:09 | #20 | Link | |
Registered User
Join Date: Jan 2016
Posts: 163
|
Quote:
The network is made up of 5 "residual SE blocks" with global skip connection. Each residual SE block includes 2 convolution layers (5 * 2 =10, which gives the name UpResNet10) and a channel attention mechanism. Previous waifu2x models do not make use of any of these techniques. Similar structure can be found in recent state-of-the-art super-resolution models like EDSR, RCAN, etc. Last edited by WolframRhodium; 29th October 2018 at 02:24. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|