Releases: rlaphoenix/VSGAN
Releases · rlaphoenix/VSGAN
v1.6.4
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
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
Fixed
- Fix another regression due to incorrect overlap scaling calculation from within
join_tiles()
.
v1.6.1
Fixed
- Fix regression due to missing overlap specification to
join_tiles()
from withinrecursive_tile_tensor()
.
v1.6.0
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
tovsgan.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
andrun
have been renamed toload
andapply
.
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.5.0
Added
- Add support for ESRGAN+ models, Real-ESRGAN models (including 2x and 1x if pixel-shuffle was used),
and A-ESRGAN models. - Add support for Newer-New-arch in ESRGAN new-to-old state dict conversion.
Changed
- Rework model/arch file system structure to /models, /models/blocks and /models/ESRGAN.
- Rework ESRGAN architecture as a singular class, with all ESRGAN-specific operation done within it.
- Move ESRGAN-specific blocks within ESRGAN.py.
Removed
- Removed some unused blocks from RRDBNet.
Fixed
- Ensure
clip
parameter of VSGAN is a VapourSynth VideoNode object (a clip). - Move RGB clip check to the constructor of VSGAN rather than
run()
.
v1.1.0
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
, andscale
with values taken directly from the model state. - Check that a model has been loaded before
execute
can be called.
v1.4.1
Added
- Created new sphinx documentation, replacing the old Jekyll documentation.
- Added HISTORY.md file for recording history (now CHANGELOG.md).
Changed
- Reword some error/warning messages, now less opinionated and more concise.
- Some attributes have been renamed to be more ambiguous in the hopes more Model Architectures get
supported in the future.
Fixed
- Fix model chaining. It now gets the correct model and model scale values for each FrameEval call.
- Fixed the pytorch extra group to correctly be optional and correctly reference a dependency.
- Some type-hinting has been corrected.
v1.0.8
Changed
- Change the RGB conversion check's kernel to
Spline36
.
v1.0.7
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.