Selur's Little Message Board

Full Version: Deoldify Vapoursynth filter
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am not totally against changes in the GUI if they are functional and improve the use of the filter, which is very complex to use. 

I understand that HAVC 5.0 has introduced a number of significant changes and the GUI has already been totally changed since version 4.8.

I hope that a situation of stability can be achieved with the next release of the GUI.

Dan
Released new version v5.0.4

This is a maintenance release.

As usual it can be installed with the command

Code:
.\python -m pip install https://github.com/dan64/vs-deoldify/releases/download/v5.0.4/vsdeoldify-5.0.4-py3-none-any.whl

This version has not impact on the GUI.

I released this version because using the new model DeepRemaster I experienced the following problems:

  1. Flickering
  2. Inability to apply colors correctly in dark scenes
  3. Inability to apply colors correctly both in bright and dark scenes

I was really surprised by problem #1, because was unexpected, I attached a sample to show it, fortunately are available filters to fix it, while the problems #2 and #3 were expected.
To fix the problem #2 I used the API function: HAVC_merge, while to fix the problem #3 I had to write a new API function called:  HAVC_recover_clip_color.

I updated the user guide, with the following chapters:
  • 3.5.2 Using Deep-Exemplar to speed-up the encoding (interesting, worth reading)
  • 4.3.1 Fixing DeepRemaster problems (where are described in more details the solutions on the DeepRemaster problems)


P.S.
An example of movie colored using the fix described is the following: Fort Apache (1948)
 


Dan
thx for the info
Will update the torch add-on tomorrow, mostly afk. today.
Just realized, I got a bit of time => will update torch add-on (should be up in ~1hr)
vs-deoldify with CUDA 12.8

I was able to get vs-deoldify working with CUDA 12.8 as explained in post: #11

To get "colormnet" working is necessary to recompile "Pytorch-Correlation-extension".

To get "Pytorch-Correlation-extension" working is necessary to set the following environment variable (where has been added the compute capability of RTX 50 series: 12.0)

Code:
TORCH_CUDA_ARCH_LIST=8.0 8.6 9.0 12.0

I attached the updated instruction for compiling Pytorch-Correlation-extension with CUDA 12.8 and the working wheel build.

Dan

P.S.
see: matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards
In the other thread you mentioned that you installed:
Code:
tensorrt-10.9.0.34 tensorrt_cu12-10.9.0.34 tensorrt_cu12_libs-10.9.0.34 tensorrt_cu12_bindings-10.9.0.34 torch_tensorrt-2.7.0.dev20250316+cu128 torch-2.8.0.dev20250314+cu128 torchaudio-2.6.0.dev20250315+cu128 torchvision-0.22.0.dev20250315+cu128
How? Using:
Code:
python -m pip install -U packaging setuptools wheel python -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128 python -m pip install opencv-contrib-python python -m pip install --no-deps --pre -U torch_tensorrt --index-url https://download.pytorch.org/whl/nightly/cu128
works fine, but:
Code:
python -m pip install tensorrt==10.9.0.34
fails here.
steps I did: https://pastebin.com/MgpZtW0F
Cu Selur
To install tensorrt I used the following command

Code:
.\python -m pip install --pre torch-tensorrt --index-url https://download.pytorch.org/whl/nightly/cu128

But the nightly version can change every day. To download a specific version you can use the command

Code:
.\python -m pip install https://download.pytorch.org/whl/nightly/cu128/torch_tensorrt-2.7.0.dev20250316%2Bcu128-cp312-cp312-win_amd64.whl
 
EDIT: before updating torch_tensorrt  I run also the command

Code:
.\python -m pip install --upgrade torch-tensorrt

but I was not happy with the the torch-tensorrt version installed and then I run the command

Code:
.\python -m pip install https://download.pytorch.org/whl/nightly/cu128/torch_tensorrt-2.7.0.dev20250316%2Bcu128-cp312-cp312-win_amd64.whl
Dan
Sadly none of those, works.
=> so 5000x users will have to figure this out on their own.
maybe modifying the existing setup and not creating a new one works
no,
Code:
python -m pip install --upgrade torch-tensorrt Requirement already satisfied: torch-tensorrt in f:\hybrid\64bit\vapoursynth\lib\site-packages (2.7.0.dev20250325+cu128) Requirement already satisfied: torch<2.9.0,>=2.8.0.dev in f:\hybrid\64bit\vapoursynth\lib\site-packages (from torch-tensorrt) (2.8.0.dev20250323+cu128) Requirement already satisfied: tensorrt<10.10.0,>=10.9.0 in f:\hybrid\64bit\vapoursynth\lib\site-packages (from torch-tensorrt) (10.9.0.34) Collecting tensorrt-cu12<10.10.0,>=10.9.0 (from torch-tensorrt) Using cached tensorrt_cu12-10.9.0.34.tar.gz (18 kB) Preparing metadata (setup.py) ... done Collecting tensorrt-cu12-bindings<10.10.0,>=10.9.0 (from torch-tensorrt) Downloading tensorrt_cu12_bindings-10.9.0.34-cp312-none-win_amd64.whl.metadata (606 bytes) Collecting tensorrt-cu12-libs<10.10.0,>=10.9.0 (from torch-tensorrt) Using cached tensorrt_cu12_libs-10.9.0.34.tar.gz (704 bytes) Installing build dependencies ... done Getting requirements to build wheel ... done Collecting tensorrt-cu12-libs<10.10.0,>=10.9.0 (from torch-tensorrt) Using cached tensorrt_cu12_libs-10.9.0.34.tar.gz (704 bytes) Installing build dependencies ... done Getting requirements to build wheel ... done ERROR: Exception: Traceback (most recent call last): File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\cli\base_command.py", line 106, in _run_wrapper status = _inner_run() ^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\cli\base_command.py", line 97, in _inner_run return self.run(options, args) ^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\cli\req_command.py", line 67, in wrapper return func(self, options, args) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\commands\install.py", line 386, in run requirement_set = resolver.resolve( ^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\resolver.py", line 95, in resolve result = self._result = resolver.resolve( ^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 546, in resolve state = resolution.resolve(requirements, max_rounds=max_rounds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 427, in resolve failure_causes = self._attempt_to_pin_criterion(name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 239, in _attempt_to_pin_criterion criteria = self._get_updated_criteria(candidate) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 230, in _get_updated_criteria self._add_to_criteria(criteria, requirement, parent=candidate) File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\resolvers.py", line 173, in _add_to_criteria if not criterion.candidates: ^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\resolvelib\structs.py", line 156, in __bool__ return bool(self._sequence) ^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 174, in __bool__ return any(self) ^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 162, in <genexpr> return (c for c in iterator if id(c) not in self._incompatible_ids) ^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\found_candidates.py", line 53, in _iter_built candidate = func() ^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 187, in _make_candidate_from_link base: Optional[BaseCandidate] = self._make_base_candidate_from_link( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\factory.py", line 233, in _make_base_candidate_from_link self._link_candidate_cache[link] = LinkCandidate( ^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 304, in __init__ super().__init__( File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 159, in __init__ self.dist = self._prepare() ^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 236, in _prepare dist = self._prepare_distribution() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\resolution\resolvelib\candidates.py", line 315, in _prepare_distribution return preparer.prepare_linked_requirement(self._ireq, parallel_builds=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 527, in prepare_linked_requirement return self._prepare_linked_requirement(req, parallel_builds) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 642, in _prepare_linked_requirement dist = _get_prepared_distribution( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\operations\prepare.py", line 72, in _get_prepared_distribution abstract_dist.prepare_distribution_metadata( File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 56, in prepare_distribution_metadata self._install_build_reqs(finder) File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 126, in _install_build_reqs build_reqs = self._get_build_requires_wheel() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\distributions\sdist.py", line 103, in _get_build_requires_wheel return backend.get_requires_for_build_wheel() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_internal\utils\misc.py", line 702, in get_requires_for_build_wheel return super().get_requires_for_build_wheel(config_settings=cs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 196, in get_requires_for_build_wheel return self._call_hook( ^^^^^^^^^^^^^^^^ File "F:\Hybrid\64bit\Vapoursynth\Lib\site-packages\pip\_vendor\pyproject_hooks\_impl.py", line 402, in _call_hook raise BackendUnavailable( pip._vendor.pyproject_hooks._impl.BackendUnavailable: Cannot import 'wheel_stub.buildapi'

Might have got it working with:
Code:
python -m pip install tensorrt==10.9.0.34 tensorrt-cu12_bindings==10.9.0.34 tensorrt-cu12_libs==10.9.0.34 --extra-index-url https://pypi.nvidia.com
In my case the build was successful. 
But I think that is necessary to have a proper development environment, like the one necessary to build  "Pytorch-Correlation-extension".

Respect to my packages list below

Code:
tensorrt-10.9.0.34 tensorrt_cu12-10.9.0.34 tensorrt_cu12_libs-10.9.0.34 tensorrt_cu12_bindings-10.9.0.34 torch_tensorrt-2.7.0.dev20250316+cu128 torch-2.8.0.dev20250314+cu128 torchaudio-2.6.0.dev20250315+cu128 torchvision-0.22.0.dev20250315+cu128

What is the list on your side ?

Dan
'pip list' returns
Code:
Package Version --------------------------- ------------------------ addict 2.4.0 annotated-types 0.7.0 antlr4-python3-runtime 4.9.3 beautifulsoup4 4.13.3 blis 1.2.0 Bottleneck 1.4.2 catalogue 2.0.10 certifi 2025.1.31 charset-normalizer 3.4.1 click 8.1.8 cloudpathlib 0.21.0 colorama 0.4.6 confection 0.1.5 contourpy 1.3.1 cycler 0.12.1 cymem 2.0.11 dlib 19.24.6 einops 0.8.1 fastai 1.0.60 fastprogress 1.0.3 filelock 3.16.1 fonttools 4.56.0 fsspec 2024.10.0 huggingface-hub 0.29.3 idna 3.10 imageio 2.37.0 Jinja2 3.1.4 kiwisolver 1.4.8 kornia 0.8.0 kornia_rs 0.1.8 langcodes 3.5.0 language_data 1.3.0 lazy_loader 0.4 llvmlite 0.44.0 marisa-trie 1.2.1 markdown-it-py 3.0.0 MarkupSafe 2.1.5 matplotlib 3.10.1 mdurl 0.1.2 mmengine 0.10.7 mpmath 1.3.0 murmurhash 1.0.12 networkx 3.4.2 numba 0.61.0 numexpr 2.10.2 numpy 1.26.4 nvidia-cuda-runtime-cu12 12.8.90 nvidia-ml-py3 7.352.0 omegaconf 2.3.0 opencv-contrib-python 4.11.0.86 opencv-python 4.11.0.86 packaging 24.2 pandas 2.2.3 pillow 11.0.0 pip 25.0.1 platformdirs 4.3.7 positional-encodings 6.0.4 preshed 3.0.9 pydantic 2.10.6 pydantic_core 2.27.2 Pygments 2.19.1 pyparsing 3.2.3 python-dateutil 2.9.0.post0 pytz 2025.2 PyYAML 6.0.2 regex 2024.11.6 requests 2.32.3 rich 13.9.4 safetensors 0.5.3 scikit-image 0.25.2 scipy 1.15.2 setuptools 78.1.0 shellingham 1.5.4 six 1.17.0 smart-open 7.1.0 soupsieve 2.6 spacy 3.8.4 spacy-legacy 3.0.12 spacy-loggers 1.0.5 spatial_correlation_sampler 0.5.0 srsly 2.5.1 stgpytools 1.2.2 sympy 1.13.3 tensorrt 10.9.0.34 tensorrt_cu12 10.9.0.34 tensorrt_cu12_bindings 10.9.0.34 tensorrt_cu12_libs 10.9.0.34 termcolor 2.5.0 thinc 8.3.4 tifffile 2025.3.13 timm 1.0.15 torch 2.8.0.dev20250323+cu128 torch_tensorrt 2.7.0.dev20250325+cu128 torchvision 0.22.0.dev20250325+cu128 tqdm 4.67.1 typer 0.15.2 typing_extensions 4.12.2 tzdata 2025.2 urllib3 2.3.0 VapourSynth 70 vsanimesr 2.0.0 vsbasicvsrpp 3.0.0 vscodeformer 1.0.1 vsddcolor 1.0.1 vsdeoldify 5.0.4 vsdpir 4.3.0 vsfemasr 2.0.0 vsgan 1.6.4 vsgrlir 1.1.1 vshinet 1.0.0 vsmfdin 1.0.0 vspropainter 1.2.1 vsrealesrgan 5.2.1 vsrife 5.6.0 vsscunet 2.0.0 vsswinir 2.0.0 vstools 3.4.4 vsutil 0.8.0 wasabi 1.1.3 weasel 0.4.1 wheel 0.45.1 wrapt 1.17.2 yapf 0.43.0

Cu Selur

Ps.: I created a thread where I listed the calls I instructions to build the VapoursynthR70_torch_2025.03.26 add-on.
Could you build and share a spatial_correlation_sampler-0.5.0 for :
Code:
Package Version ------------------------ ------------ addict 2.4.0 annotated-types 0.7.0 antlr4-python3-runtime 4.9.3 beautifulsoup4 4.13.4 blis 1.3.0 Bottleneck 1.5.0 catalogue 2.0.10 certifi 2025.4.26 charset-normalizer 3.4.2 click 8.2.1 cloudpathlib 0.21.1 colorama 0.4.6 confection 0.1.5 contourpy 1.3.2 cycler 0.12.1 cymem 2.0.11 dlib 20.0.0 einops 0.8.1 fastai 1.0.60 fastprogress 1.0.3 filelock 3.13.1 fonttools 4.58.1 fsspec 2024.6.1 huggingface-hub 0.32.4 idna 3.10 imageio 2.37.0 Jinja2 3.1.4 kiwisolver 1.4.8 kornia 0.8.1 kornia_rs 0.1.9 langcodes 3.5.0 language_data 1.3.0 lazy_loader 0.4 llvmlite 0.44.0 marisa-trie 1.2.1 markdown-it-py 3.0.0 MarkupSafe 2.1.5 matplotlib 3.10.3 mdurl 0.1.2 mmengine 0.10.7 mpmath 1.3.0 murmurhash 1.0.13 networkx 3.3 numba 0.61.2 numexpr 2.10.2 numpy 2.2.6 nvidia-cuda-runtime-cu12 12.9.79 nvidia-ml-py3 7.352.0 omegaconf 2.3.0 opencv-python 4.11.0.86 packaging 25.0 pandas 2.3.0 pillow 11.0.0 pip 25.1.1 platformdirs 4.3.8 preshed 3.0.10 pydantic 2.11.5 pydantic_core 2.33.2 Pygments 2.19.1 pyparsing 3.2.3 python-dateutil 2.9.0.post0 pytz 2025.2 PyYAML 6.0.2 regex 2024.11.6 requests 2.32.3 rich 14.0.0 safetensors 0.5.3 scikit-image 0.25.2 scipy 1.15.3 setuptools 80.9.0 shellingham 1.5.4 six 1.17.0 smart-open 7.1.0 soupsieve 2.7 spacy 3.8.7 spacy-legacy 3.0.12 spacy-loggers 1.0.5 srsly 2.5.1 stgpytools 1.2.2 sympy 1.13.3 tensorrt 10.9.0.34 tensorrt_cu12 10.9.0.34 tensorrt_cu12_bindings 10.9.0.34 tensorrt_cu12_libs 10.9.0.34 termcolor 3.1.0 thinc 8.3.6 tifffile 2025.6.1 timm 1.0.15 torch 2.7.1+cu126 torch_tensorrt 2.7.0+cu126 torchvision 0.22.1+cu126 tqdm 4.67.1 typer 0.16.0 typing_extensions 4.12.2 typing-inspection 0.4.1 tzdata 2025.2 urllib3 2.4.0 VapourSynth 72 vsanimesr 2.0.0 vsbasicvsrpp 3.0.0 vscodeformer 1.0.1 vsddcolor 1.0.1 vsdeoldify 5.0.4 vsdpir 4.3.0 vsfemasr 2.0.0 vsgan 1.6.4 vsgrlir 1.1.1 vshinet 1.0.0 vsmfdin 1.0.0 vspropainter 1.2.1 vsrealesrgan 5.2.1 vsrife 5.6.0 vsscunet 2.0.0 vsswinir 2.0.0 vstools 3.4.4 vsutil 0.8.0 wasabi 1.1.3 weasel 0.4.1 wheel 0.45.1 wrapt 1.17.2 yapf 0.43.0

Cu Selur