VSGAN Versions Save

PyTorch-based Super-Resolution and Restoration Image Processing Module for VapourSynth

v1.6.4

2 years ago

Changed

  • Renamed GitHub Workflows from Distribution to CD and Version test to CI.
  • Now caching the VapourSynth installation in GitHub CI workflow.
  • Now directly loads a tensor from the VideoFrame data directly, without numpy as a middleman.
  • Reduced overall numpy use for Tensor<->VideoFrame operations.
  • The half parameter/options have been removed entirely and replaced with automatic infer based on input bit-depth. You must explicitly use RGBS if you want FullTensor (float32). Integer and RGBH inputs will be converted (if needed) to float16 (HalfTensor) automatically.

Removed

  • Removed EOL Python 3.6 from CI Workflow.
  • Removed unused infer_sequence method from EGVSR arch.
  • Removed unused options and code from frame_to_tensor.
  • All manual tensor deletion statements have been removed, they do not seem to help with VRAM.
  • The overlap reduction code per-recursion has been removed. The overlap will now always stay at the value first provided.

Fixed

  • Fixed a big Memory leak, that I still don't know exactly why it happened.
  • Fixed minimum Python version listed under Installation docs.
  • Improved the accuracy of clamping max size value to an equation on the exact bit depth. This fixes the accuracy of RGB 27, 30, 36, and 42.

v1.6.3

2 years ago

Added

  • Recursive tiling depth is now cached per-clip, rather than per-frame.

Changed

  • Updated numpy to version 1.21.1.

Removed

  • Dropped support for Python versions older than 3.7.

Fixed

  • Fix another regression with rejoined tensors defaulting creation on the default device.

v1.6.2

2 years ago

Fixed

  • Fix another regression due to incorrect overlap scaling calculation from within join_tiles().

v1.6.1

2 years ago

Fixed

  • Fix regression due to missing overlap specification to join_tiles() from within recursive_tile_tensor().

v1.6.0

2 years ago

Added

  • Add support for EGVSR, Arch and Network.
  • Add support for Real-ESRGAN-v2 aka Anime Video Models (comp. vgg-style arch).
  • Ability to use half-precision (fp16, HalfTensor) via half parameter. This can help reduce VRAM.
  • Created tiling utilities to tile a tensor, merge tiled tensors, and automatically tile and execute recursively.

Changed

  • Moved the frame/numpy/tensor utility functions out of the VSGAN class and into utilities.py.
  • Renamed HISTORY to CHANGELOG, and updated changelog to be in Keep a Changelog standard.
  • Moved VSGAN class from __init__.py to vsgan.py.
  • Tiling mode is now always enabled, but will only tile if you wouldn't have otherwise had enough VRAM.
  • Overlap now defaults to 16.
  • Separated VSGAN class into two separate Network classes, ESRGAN, and EGVSR. VSGAN is no longer used and ESRGAN/EGVSR Network classes should now be imported and used instead.
  • The functions load_model and run have been renamed to load and apply.

Fixed

  • Don't require batch in tensor_to_clip.
  • Make change_order False by default in frame_to_tensor, improve rest of the param defaults.
  • Don't change order to (2,0,1) for ESRGAN models, was unnecessary and caused issues with Real-ESRGANv2.
  • Fixed support for Python versions older than 3.8.
  • Fixed example VapourSynth import paths casing.
  • Restore support for VapourSynth API 3.
  • Now detaches tiles from the GPU after super-resolution, to keep space for the next tile's super-resolution.

v1.2.1

2 years ago

Added

  • Add ability to check what the last loaded model is via VSGAN.model attribute.

v1.2.0

2 years ago

Added

  • Added type-hinting across the code base as well as some doc-strings.

Changed

  • A heavy warning discouraging the use of your CPU as a PyTorch device was added. Ability to use your CPU was hidden but reading the warning explains how to do so.
  • Reduced required VapourSynth version to 48 or newer.

Removed

  • Remove the conversion to RGB prior to model execution. RGB is required for the Model, but let the user decide how to convert to format, what algorithm, how to deal with matrix, and so on.
  • Removed setuptools from dependencies.

Fixed

  • Add a check to ensure input clip is RGB, since auto conversion was removed.
  • Add missing documentation on [1.1.0]'s changes to scale and such.

v1.1.0

2 years ago

Added

  • Added two GitHub Action workflows for CI/CD.

Changed

  • Moved the majority of documentation and info from the GitHub Wikis system to the README.

Fixed

  • Replace hardcoded in_nc, out_nc, nf, nb, and scale with values taken directly from the model state.
  • Check that a model has been loaded before execute can be called.

v1.0.8

2 years ago

Changed

  • Change the RGB conversion check's kernel to Spline36.

v1.0.7

2 years ago

Removed

  • Removed the color-space conversion implemented in [1.0.3] as it can be a lossy operation. Let the user decide how/if to convert back to the original format. E.g., what algorithm, what matrix, and so on.

Fixed

  • Replaced unsafe assert in RRDBNet with an if and raise, as asserts may be removed when optimised as python byte code files.