[feedback needed] integrating nind-denoise with darktable

After applying all the patches discussed in this thread, I am stuck trying to get the “one click setup to work”. It appears that the script is not copying either requirements.in or pyproject.toml into the nind_denoise dir.

I tried to bypass the problem running the configuration manually, but I get a bunch of errors from uv pip:

~/.local/bin/uv pip install -r requirements.in --upgrade
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of torch are available:
          torch<=2.8.0
          torch>2.9.dev0
      and torch==2.8.0 has no wheels with a matching Python ABI tag (e.g., `cp314`), we can conclude that torch<2.9.dev0 cannot be used.
      And because you require torch<2.9.dev0, we can conclude that your requirements are unsatisfiable.

      hint: `torch` was requested with a pre-release marker (e.g., torch>2.8.0,<2.9.dev0), but pre-releases weren't enabled (try: `--prerelease=allow`)

      hint: `torch` was found on https://download.pytorch.org/whl/variant, but not at the requested version (torch>2.8.0,<2.9.dev0). A compatible version may be available on a subsequent index (e.g., https://pypi.org/simple). By default, uv will only consider versions
      that are published on the first index that contains a given package, to avoid dependency confusion attacks. If all indexes are equally trusted, use `--index-strategy unsafe-best-match` to consider all versions from all indexes, regardless of the order in which
      they were defined.

      hint: You require CPython 3.14 (`cp314`), but we only found wheels for `torch` (v2.8.0) with the following Python ABI tags: `cp39`, `cp310`, `cp311`, `cp312`, `cp313`, `cp313t`

@sillyxone any chance that you have an up-to-date version that has more chances of success?

Sorry, I only maintain the Python script documented in the first post (which should still be working).

The latest Lua script and Python packaging were created and maintained by @rengo. Tagging @rengo here to see if they can chime in.

I’m having trouble getting this to work too. I got the right versions of pytorch installed for ROCm and everything, but when I try to run the denoising it segfaults:

  1076.3582 LUA new_name: /mnt/jirachi/photos/darktable-imports/20260310_no_name/darktable_exported/20260310_0009.jpg
  1076.3582 LUA RL deblur enabled: false
  1076.3594 LUA Denoise command: . "/home/wb/Downloads/nind-denoise//.venv/bin/activate" && python3 "/home/wb/Downloads/nind-denoise//src/denoise.py" --tiff-input -o '/mnt/jirachi/photos/darktable-imports/20260310_no_name/darktable_exported/20260310_0009.jpg' --sidecar '/mnt/jirachi/photos/darktable-imports/20260310_no_name/20260310_0009.CR2.xmp' --extension jpg --quality 95 --no_deblur '/tmp/20260310_0009.tif'
/tmp/20260310_0009.tif

Warning: gmic (/usr/bin/gmic) does not exist or --no_deblur is set, disabled RL-deblur
cs and/or ucs not set, using defaults ...
cs=504, ucs=480
Extracted ICC profile (9012 bytes) from input
0/4
Traceback (most recent call last):
  File "/home/wb/Downloads/nind-denoise//src/denoise.py", line 616, in <module>
    denoise_file(dict(args), _input_path=input_path)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/wb/Downloads/nind-denoise//src/denoise.py", line 512, in denoise_file
    subprocess.run(
    ~~~~~~~~~~~~~~^
        [
        ^
    ...<11 lines>...
        check=True,
        ^^^^^^^^^^^
    )
    ^
  File "/usr/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/home/wb/Downloads/nind-denoise/.venv/bin/python3', PosixPath('/home/wb/Downloads/nind-denoise/src/nind_denoise/denoise_image.py'), '--network', 'UtNet', '--model_path', '/home/wb/Downloads/nind-denoise/src/nind_denoise/models/2021-06-14T20_27_nn_train/generator_650.pt', '--input', PosixPath('/tmp/20260310_0009.tif'), '--output', PosixPath('/mnt/jirachi/photos/darktable-imports/20260310_no_name/darktable_exported/20260310_0009_s1_denoised.tiff')]' died with <Signals.SIGSEGV: 11>.
  1078.9846 LUA ERROR: [NDERR-1001] Denoise/deblur processing failed

Here’s the gdb backtrace in case it’s helpful: gist:aa2fbecc7a413806afec6198d4ae7fe0 · GitHub