Skip to content

Simple torch.nn.module implementation of Alias-Free-GAN style filter and resample

License

Notifications You must be signed in to change notification settings

junjun3518/alias-free-torch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alias-Free-Torch

Simple torch module implementation of Alias-Free GAN.

This repository including

Note: Since this repository is unofficial, filter and upsample could be different with official implementation.

Still working! If you notice some error or typo, please open new issue!

v0.0.6 is TESTED

UPDATE: You can download alias-free-torch from pip

python -m pip install alias-free-torch

Requirements

Due to torch.kaiser_window and torch.i0 are implemeted after 1.7.0, our repository need torch>=1.7.0.

  • Pytorch>=1.7.0

For custom torch users, pip will not check torch version.

TODO

  • 2d sinc filter
  • 2d resample
  • devide 1d and 2d modules
  • pip packaging
  • rewrite upsample
  • Upsample pad size issue
  • (Upsample) support calculation for [B,C,T/(H,W)] (now only supports [B,T/(H,W)] or [B,1,T/(H,W)])
  • set filter as register buffer
  • (Downsample & Filter) support calculation for [B,C,T/(H,W)] (now only supports [B,T/(H,W)] or [B,1,T/(H,W)])
  • provide loadable ckpt for lower version of torch
  • documentation

Test results 1d

Filter sine Filter noise
filtersin filternoise
upsample downsample
up2 down10
up256 down100

Test results 2d

Filter L1 norm sine Filter noise
filter2dsin filter2dnoise
upsample downsample
up2d2 downsample2d2
up2d8 downsample2d4

References

  • Alias-Free GAN
  • adefossez/julius
  • A. V. Oppenheim and R. W. Schafer. Discrete-Time Signal Processing. Pearson, International Edition, 3rd edition, 2010

Acknowledgement

This work is done at MINDsLab Inc.

Thanks to teammates at MINDsLab Inc.