rawforge 0.2.2__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {rawforge-0.2.2/rawforge.egg-info → rawforge-0.2.3}/PKG-INFO +1 -1
  2. rawforge-0.2.3/RawForge/application/MODEL_REGISTRY.py +107 -0
  3. rawforge-0.2.3/RawForge/application/TorchBackend.py +33 -0
  4. {rawforge-0.2.2 → rawforge-0.2.3}/pyproject.toml +1 -1
  5. {rawforge-0.2.2 → rawforge-0.2.3/rawforge.egg-info}/PKG-INFO +1 -1
  6. rawforge-0.2.2/RawForge/application/MODEL_REGISTRY.py +0 -785
  7. rawforge-0.2.2/RawForge/application/TorchBackend.py +0 -36
  8. {rawforge-0.2.2 → rawforge-0.2.3}/LICENSE +0 -0
  9. {rawforge-0.2.2 → rawforge-0.2.3}/README.md +0 -0
  10. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/__init__.py +0 -0
  11. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/ImageSaver.py +0 -0
  12. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/InferenceWorker.py +0 -0
  13. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/ModelHandler.py +0 -0
  14. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/ModelHandlerTorch.py +0 -0
  15. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/ONNXBackend.py +0 -0
  16. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/dng_utils.py +0 -0
  17. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/censored_fit.py +0 -0
  18. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/exiftools.py +0 -0
  19. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/get_backend.py +0 -0
  20. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/get_image.py +0 -0
  21. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/subtract_blacklevel.py +0 -0
  22. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/torchutils.py +0 -0
  23. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/helpers/utils.py +0 -0
  24. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/application/postprocessing.py +0 -0
  25. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/main.py +0 -0
  26. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/scripts/generate_keys.py +0 -0
  27. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/scripts/sign_models.py +0 -0
  28. {rawforge-0.2.2 → rawforge-0.2.3}/RawForge/sidecar.py +0 -0
  29. {rawforge-0.2.2 → rawforge-0.2.3}/rawforge.egg-info/SOURCES.txt +0 -0
  30. {rawforge-0.2.2 → rawforge-0.2.3}/rawforge.egg-info/dependency_links.txt +0 -0
  31. {rawforge-0.2.2 → rawforge-0.2.3}/rawforge.egg-info/entry_points.txt +0 -0
  32. {rawforge-0.2.2 → rawforge-0.2.3}/rawforge.egg-info/requires.txt +0 -0
  33. {rawforge-0.2.2 → rawforge-0.2.3}/rawforge.egg-info/top_level.txt +0 -0
  34. {rawforge-0.2.2 → rawforge-0.2.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rawforge
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: A compute backend/CLI application for using machine learning models on raw images.
5
5
  Author: Ryan Mueller
6
6
  License: MIT License
@@ -0,0 +1,107 @@
1
+ MODEL_REGISTRY = {
2
+ "TreeNetDenoise": {
3
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1.onnx",
4
+ "filename": "ShadowWeightedL1.onnx",
5
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1.pt",
6
+ "torchfilename": "ShadowWeightedL1.pt",
7
+ "max_iso": 65535,
8
+ "demosaicing": "Malvar2004",
9
+ "conditioning": True,
10
+ },
11
+ "TreeNetDenoiseLight": {
12
+ "url": " https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_light.onnx",
13
+ "filename": "ShadowWeightedL1_light.onnx",
14
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_light.pt",
15
+ "torchfilename": "ShadowWeightedL1_light.pt",
16
+ "max_iso": 65535,
17
+ "demosaicing": "Malvar2004",
18
+ "conditioning": True,
19
+
20
+ },
21
+ "TreeNetDenoiseSuperLight": {
22
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_super_light.onnx",
23
+ "filename": "ShadowWeightedL1_super_light.onnx",
24
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_super_light.pt",
25
+ "torchfilename": "ShadowWeightedL1_super_light.pt",
26
+ "max_iso": 65535,
27
+ "demosaicing": "Malvar2004",
28
+ "conditioning": True,
29
+ },
30
+ "TreeNetDenoiseHeavy": {
31
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_24_deep_500.onnx",
32
+ "filename": "ShadowWeightedL1_24_deep_500.onnx",
33
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_24_deep_500.pt",
34
+ "torchfilename": "ShadowWeightedL1_24_deep_500.pt",
35
+ "max_iso": 65535,
36
+ "demosaicing": "Malvar2004",
37
+ "conditioning": True,
38
+ },
39
+ "Deblur": {
40
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/realblur_gamma_140.onnx",
41
+ "filename": "realblur_gamma_140.onnx",
42
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/realblur_gamma_140.pt",
43
+ "torchfilename": "realblur_gamma_140.pt",
44
+ "demosaicing": "Malvar2004",
45
+ "conditioning": True,
46
+ },
47
+ "DeepSharpen": {
48
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/Deblur_deep_24.onnx",
49
+ "filename": "Deblur_deep_24.onnx",
50
+ "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/Deblur_deep_24.pt",
51
+ "torchfilename": "Deblur_deep_24.pt",
52
+ "demosaicing": "Malvar2004",
53
+ "conditioning": True,
54
+ },
55
+ "TreeNetDenoiseXTrans": {
56
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/xtrans_fixed_exposure_no_conditioning_400.onnx",
57
+ "filename": "xtrans_fixed_exposure_no_conditioning_400.onnx",
58
+ "torchurl": "https://github.com/rymuelle/RawForge/releases/download/xtrans_v1.0.0/xtrans_fixed_exposure_no_conditioning_400.pt",
59
+ "torchfilename": "xtrans_fixed_exposure_no_conditioning_400.pt",
60
+ "demosaicing": "rawpy",
61
+ "conditioning": True,
62
+ "batch_size": 1,
63
+ "tile_size": 256,
64
+ "cond_scale": 0,
65
+ },
66
+ "RestormerXTrans": {
67
+ "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/restormer.onnx",
68
+ "filename": "restormer.onnx",
69
+ "torchurl": "https://github.com/rymuelle/RawForge/releases/download/xtrans_v1.0.0/restormer.pt",
70
+ "torchfilename": "restormer.pt",
71
+ "demosaicing": "rawpy",
72
+ "conditioning": True,
73
+ "batch_size": 1,
74
+ },
75
+ "JDD256": {
76
+ "url": None,
77
+ "filename": None,
78
+ "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont.pt",
79
+ "torchfilename": "DemoRestormerDiT_to_demo_cont.pt",
80
+ "demosaicing": "sixchan",
81
+ "image_scale": 1,
82
+ "conditioning": False,
83
+ "batch_size": 1,
84
+ "tile_size": 256,
85
+ "subtract_bl": True,
86
+ "image_clip": True,
87
+ },
88
+ "JDD": {
89
+ "url": None,
90
+ "filename": None,
91
+ "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_RawNIND.pt",
92
+ "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND.pt",
93
+ "demosaicing": "sixchan",
94
+ "image_scale": 1,
95
+ "conditioning": False,
96
+ "batch_size": 1,
97
+ "tile_size": 768,
98
+ "subtract_bl": False,
99
+ "image_clip": True,
100
+ },
101
+ }
102
+
103
+ for model_config in MODEL_REGISTRY.values():
104
+ model_config.setdefault("tile_size", 256)
105
+ model_config.setdefault("tile_overlap", 0.25)
106
+ model_config.setdefault("batch_size", 1)
107
+ model_config.setdefault("conditioning", False)
@@ -0,0 +1,33 @@
1
+ import torch
2
+ import numpy as np
3
+ from contextlib import nullcontext
4
+
5
+ class TorchBackend:
6
+ def __init__(self, model, model_params, device):
7
+ self.model = model
8
+ self.model_params = model_params
9
+ self.device = device
10
+ self.autocast_dtype = torch.float16
11
+
12
+ def prepare_conditioning(self, cond):
13
+ return torch.from_numpy(cond).to(self.device)
14
+
15
+ def infer(self, batch, cond):
16
+ batch = torch.from_numpy(batch).to(self.device)
17
+
18
+ B = batch.shape[0]
19
+ cond = cond.expand(B, -1)
20
+
21
+ kwargs = {"cond": cond} if self.model_params["conditioning"] else {}
22
+ is_cpu = self.device == "cpu" or (
23
+ hasattr(self.device, "type") and self.device.type == "cpu"
24
+ )
25
+ autocast_ctx = (
26
+ nullcontext()
27
+ if is_cpu
28
+ else torch.autocast(device_type=self.device.type, dtype=self.autocast_dtype)
29
+ )
30
+ with torch.no_grad(), autocast_ctx:
31
+ output = self.model(batch, **kwargs)
32
+
33
+ return output.cpu().numpy().clip(0, 1)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "rawforge"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  description = "A compute backend/CLI application for using machine learning models on raw images."
5
5
  authors = [
6
6
  { name = "Ryan Mueller"},
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rawforge
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: A compute backend/CLI application for using machine learning models on raw images.
5
5
  Author: Ryan Mueller
6
6
  License: MIT License
@@ -1,785 +0,0 @@
1
- MODEL_REGISTRY = {
2
- "TreeNetDenoise": {
3
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1.onnx",
4
- "filename": "ShadowWeightedL1.onnx",
5
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1.pt",
6
- "torchfilename": "ShadowWeightedL1.pt",
7
- "max_iso": 65535,
8
- "demosaicing": "Malvar2004",
9
- "conditioning": True,
10
- },
11
- "TreeNetDenoiseLight": {
12
- "url": " https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_light.onnx",
13
- "filename": "ShadowWeightedL1_light.onnx",
14
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_light.pt",
15
- "torchfilename": "ShadowWeightedL1_light.pt",
16
- "max_iso": 65535,
17
- "demosaicing": "Malvar2004",
18
- "conditioning": True,
19
-
20
- },
21
- "TreeNetDenoiseSuperLight": {
22
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_super_light.onnx",
23
- "filename": "ShadowWeightedL1_super_light.onnx",
24
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_super_light.pt",
25
- "torchfilename": "ShadowWeightedL1_super_light.pt",
26
- "max_iso": 65535,
27
- "demosaicing": "Malvar2004",
28
- "conditioning": True,
29
- },
30
- "TreeNetDenoiseHeavy": {
31
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/ShadowWeightedL1_24_deep_500.onnx",
32
- "filename": "ShadowWeightedL1_24_deep_500.onnx",
33
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/ShadowWeightedL1_24_deep_500.pt",
34
- "torchfilename": "ShadowWeightedL1_24_deep_500.pt",
35
- "max_iso": 65535,
36
- "demosaicing": "Malvar2004",
37
- "conditioning": True,
38
- },
39
- "Deblur": {
40
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/realblur_gamma_140.onnx",
41
- "filename": "realblur_gamma_140.onnx",
42
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/realblur_gamma_140.pt",
43
- "torchfilename": "realblur_gamma_140.pt",
44
- "demosaicing": "Malvar2004",
45
- "conditioning": True,
46
- },
47
- "DeepSharpen": {
48
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/Deblur_deep_24.onnx",
49
- "filename": "Deblur_deep_24.onnx",
50
- "torchurl": "https://github.com/rymuelle/RawRefinery/releases/download/v1.2.1-alpha/Deblur_deep_24.pt",
51
- "torchfilename": "Deblur_deep_24.pt",
52
- "demosaicing": "Malvar2004",
53
- "conditioning": True,
54
- },
55
- "TreeNetDenoiseXTrans": {
56
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/xtrans_fixed_exposure_no_conditioning_400.onnx",
57
- "filename": "xtrans_fixed_exposure_no_conditioning_400.onnx",
58
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/xtrans_v1.0.0/xtrans_fixed_exposure_no_conditioning_400.pt",
59
- "torchfilename": "xtrans_fixed_exposure_no_conditioning_400.pt",
60
- "demosaicing": "rawpy",
61
- "conditioning": False,
62
- "batch_size": 1,
63
- "tile_size": 256,
64
- "cond_scale": 0,
65
- },
66
- "RestormerXTrans": {
67
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/restormer.onnx",
68
- "filename": "restormer.onnx",
69
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/xtrans_v1.0.0/restormer.pt",
70
- "torchfilename": "restormer.pt",
71
- "demosaicing": "rawpy",
72
- "conditioning": True,
73
- "batch_size": 1,
74
- },
75
- "XFormerXTrans2": {
76
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/xformer_fp16.onnx",
77
- "filename": "xformer_fp16.onnx",
78
- "demosaicing": "rawpy",
79
- "conditioning": False,
80
- "batch_size": 1,
81
- },
82
- "XFormerDenoise": {
83
- "url": "https://github.com/rymuelle/RawForge/releases/download/onnx_v1.0.0/xformer_static.onnx",
84
- "filename": "xformer_static.onnx",
85
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/xtrans_v1.0.0/xformer.pt",
86
- "torchfilename": "xformer.pt",
87
- "demosaicing": "rawpy",
88
- "conditioning": False,
89
- "batch_size": 1,
90
- "tile_size": 256,
91
- },
92
-
93
-
94
- "DemoNAFNet": {
95
- "url": None,
96
- "filename": None,
97
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_cont_swl_0p1.pt",
98
- "torchfilename": "DemoNAFNet_noraf_cont_swl_0p1.pt",
99
- "demosaicing": "sixchan",
100
- "conditioning": False,
101
- "batch_size": 1,
102
- "tile_size": 256,
103
- },
104
- "DemoNAFNet_l1": {
105
- "url": None,
106
- "filename": None,
107
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_cont_cont.pt",
108
- "torchfilename": "DemoNAFNet_noraf_cont_cont.pt",
109
- "demosaicing": "sixchan",
110
- "conditioning": False,
111
- "batch_size": 1,
112
- "tile_size": 256,
113
- },
114
- "DemoNAFNet_noraf_cont_lpips_p1": {
115
- "url": None,
116
- "filename": None,
117
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_cont_lpips_p1.pt",
118
- "torchfilename": "DemoNAFNet_noraf_cont_lpips_p1.pt",
119
- "demosaicing": "sixchan",
120
- "conditioning": False,
121
- "batch_size": 1,
122
- "tile_size": 256,
123
- },
124
- "Demosaic_resize_2_32_long": {
125
- "url": None,
126
- "filename": None,
127
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Demosaic_resize_2_32_long.pt",
128
- "torchfilename": "Demosaic_resize_2_32_long.pt",
129
- "demosaicing": "sixchan",
130
- "conditioning": False,
131
- "batch_size": 1,
132
- "tile_size": 256,
133
- },
134
- "DemoNAFNet_noraf_augment": {
135
- "url": None,
136
- "filename": None,
137
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_augment.pt",
138
- "torchfilename": "DemoNAFNet_noraf_augment.pt",
139
- "demosaicing": "sixchan",
140
- "conditioning": False,
141
- "batch_size": 1,
142
- "tile_size": 256,
143
- },
144
- "DemoNAFNetDIT": {
145
- "url": None,
146
- "filename": None,
147
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNetDIT.pt",
148
- "torchfilename": "DemoNAFNetDIT.pt",
149
- "demosaicing": "sixchan",
150
- "conditioning": False,
151
- "batch_size": 1,
152
- "tile_size": 256,
153
- },
154
- "DemoNAFNet_noraf_only_rotation_augment": {
155
- "url": None,
156
- "filename": None,
157
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_only_rotation_augment.pt",
158
- "torchfilename": "DemoNAFNet_noraf_only_rotation_augment.pt",
159
- "demosaicing": "sixchan",
160
- "conditioning": False,
161
- "batch_size": 1,
162
- "tile_size": 256,
163
- },
164
- "DemoNAFNet_noraf_gamma_loss": {
165
- "url": None,
166
- "filename": None,
167
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_gamma_loss.pt",
168
- "torchfilename": "DemoNAFNet_noraf_gamma_loss.pt",
169
- "demosaicing": "sixchan",
170
- "conditioning": False,
171
- "batch_size": 1,
172
- "tile_size": 256,
173
- },
174
-
175
-
176
- "DemoNAFNet_noraf_cont_cont_black_level": {
177
- "url": None,
178
- "filename": None,
179
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_cont_cont_black_level.pt",
180
- "torchfilename": "DemoNAFNet_noraf_cont_cont_black_level.pt",
181
- "demosaicing": "sixchan",
182
- "conditioning": False,
183
- "batch_size": 1,
184
- "tile_size": 256,
185
- "subtract_bl": True,
186
- },
187
- "DemoNAF_heavy_no_gamma": {
188
- "url": None,
189
- "filename": None,
190
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAF_heavy_no_gamma.pt",
191
- "torchfilename": "DemoNAF_heavy_no_gamma.pt",
192
- "demosaicing": "sixchan",
193
- "conditioning": False,
194
- "batch_size": 1,
195
- "tile_size": 256,
196
- "subtract_bl": True,
197
- },
198
-
199
- "DemoNAFNetMamba_test_highlight": {
200
- "url": None,
201
- "filename": None,
202
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNetMamba_test_highlight.pt",
203
- "torchfilename": "DemoNAFNetMamba_test_highlight.pt",
204
- "demosaicing": "sixchan",
205
- "image_scale": 0.52,
206
- "image_clip": 0.5,
207
- "conditioning": False,
208
- "batch_size": 1,
209
- "tile_size": 256,
210
- "subtract_bl": True,
211
- },
212
-
213
- "DemoNAF_heavy_no_gamma_cont_no_bl_no_ccm": {
214
- "url": None,
215
- "filename": None,
216
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAF_heavy_no_gamma_cont_no_bl_no_ccm.pt",
217
- "torchfilename": "DemoNAF_heavy_no_gamma_cont_no_bl_no_ccm.pt",
218
- "demosaicing": "sixchan",
219
- "image_scale": 1,
220
- "conditioning": False,
221
- "batch_size": 1,
222
- "tile_size": 256,
223
- "subtract_bl": False,
224
- },
225
-
226
- "DemoNAFNet_noraf_ShadowWeightedL1": {
227
- "url": None,
228
- "filename": None,
229
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1.pt",
230
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1.pt",
231
- "demosaicing": "sixchan",
232
- "image_scale": 1,
233
- "conditioning": False,
234
- "batch_size": 1,
235
- "tile_size": 256,
236
- "subtract_bl": False,
237
- },
238
-
239
-
240
- "DemoRestormer_256": {
241
- "url": None,
242
- "filename": None,
243
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormer_256.pt",
244
- "torchfilename": "DemoRestormer_256.pt",
245
- "demosaicing": "sixchan",
246
- "image_scale": 1,
247
- "conditioning": False,
248
- "batch_size": 1,
249
- "tile_size": 256,
250
- "subtract_bl": False,
251
- },
252
- "DemoNAFNet_noraf_ShadowWeightedL1_v2": {
253
- "url": None,
254
- "filename": None,
255
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1_v2.pt",
256
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1_v2.pt",
257
- "demosaicing": "sixchan",
258
- "image_scale": 1,
259
- "conditioning": False,
260
- "batch_size": 1,
261
- "tile_size": 256,
262
- "subtract_bl": False,
263
- },
264
- "DemoNAFNet_noraf_ShadowWeightedL1_short": {
265
- "url": None,
266
- "filename": None,
267
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1_short.pt",
268
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1_short.pt",
269
- "demosaicing": "sixchan",
270
- "image_scale": 1,
271
- "conditioning": False,
272
- "batch_size": 1,
273
- "tile_size": 256,
274
- "subtract_bl": False,
275
- },
276
- "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid": {
277
- "url": None,
278
- "filename": None,
279
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid.pt",
280
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid.pt",
281
- "demosaicing": "sixchan",
282
- "image_scale": 1,
283
- "conditioning": False,
284
- "batch_size": 1,
285
- "tile_size": 256,
286
- "subtract_bl": False,
287
- },
288
- "DemoRestormer_noraf_ShadowWeightedL1": {
289
- "url": None,
290
- "filename": None,
291
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormer_noraf_ShadowWeightedL1.pt",
292
- "torchfilename": "DemoRestormer_noraf_ShadowWeightedL1.pt",
293
- "demosaicing": "sixchan",
294
- "image_scale": 1,
295
- "conditioning": False,
296
- "batch_size": 1,
297
- "tile_size": 256,
298
- "subtract_bl": False,
299
- },
300
- "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_low_res_heavy": {
301
- "url": None,
302
- "filename": None,
303
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_low_res_heavy.pt",
304
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_low_res_heavy.pt",
305
- "demosaicing": "sixchan",
306
- "image_scale": 1,
307
- "conditioning": False,
308
- "batch_size": 1,
309
- "tile_size": 256,
310
- "subtract_bl": False,
311
- },
312
-
313
- "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_v2": {
314
- "url": None,
315
- "filename": None,
316
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_v2.pt",
317
- "torchfilename": "DemoNAFNet_noraf_ShadowWeightedL1_Sigmoid_v2.pt",
318
- "demosaicing": "sixchan",
319
- "image_scale": 1,
320
- "conditioning": False,
321
- "batch_size": 1,
322
- "tile_size": 256,
323
- "subtract_bl": False,
324
- },
325
-
326
- "DemoRestormer_noraf_ShadowWeightedL1_3k": {
327
- "url": None,
328
- "filename": None,
329
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormer_noraf_ShadowWeightedL1_3k.pt",
330
- "torchfilename": "DemoRestormer_noraf_ShadowWeightedL1_3k.pt",
331
- "demosaicing": "sixchan",
332
- "image_scale": 1,
333
- "conditioning": False,
334
- "batch_size": 1,
335
- "tile_size": 256,
336
- "subtract_bl": False,
337
- },
338
- "DiT_test": {
339
- "url": None,
340
- "filename": None,
341
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DiT_test.pt",
342
- "torchfilename": "DiT_test.pt",
343
- "demosaicing": "sixchan",
344
- "image_scale": 1,
345
- "conditioning": False,
346
- "batch_size": 1,
347
- "tile_size": 256,
348
- "subtract_bl": False,
349
- },
350
- "DemoRestormerDiT_test": {
351
- "url": None,
352
- "filename": None,
353
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_test.pt",
354
- "torchfilename": "DemoRestormerDiT_test.pt",
355
- "demosaicing": "sixchan",
356
- "image_scale": 1,
357
- "conditioning": False,
358
- "batch_size": 1,
359
- "tile_size": 256,
360
- "subtract_bl": False,
361
- },
362
- "DemoRestormerDiT_test_v2": {
363
- "url": None,
364
- "filename": None,
365
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_test_v2.pt",
366
- "torchfilename": "DemoRestormerDiT_test_v2.pt",
367
- "demosaicing": "sixchan",
368
- "image_scale": 1,
369
- "conditioning": False,
370
- "batch_size": 1,
371
- "tile_size": 256,
372
- "subtract_bl": False,
373
- },
374
- "Restomer_low_res": {
375
- "url": None,
376
- "filename": None,
377
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Restomer_low_res.pt",
378
- "torchfilename": "Restomer_low_res.pt",
379
- "demosaicing": "sixchan",
380
- "image_scale": 1,
381
- "conditioning": False,
382
- "batch_size": 1,
383
- "tile_size": 4096,
384
- "subtract_bl": False,
385
- },
386
- "Restomer_low_res_358": {
387
- "url": None,
388
- "filename": None,
389
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Restomer_low_res_358.pt",
390
- "torchfilename": "Restomer_low_res_358.pt",
391
- "demosaicing": "sixchan",
392
- "image_scale": 1,
393
- "conditioning": False,
394
- "batch_size": 1,
395
- "tile_size": 1024,
396
- "subtract_bl": True,
397
- },
398
-
399
- "Restomer_low_res_subtract_bl": {
400
- "url": None,
401
- "filename": None,
402
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Restomer_low_res_subtract_bl.pt",
403
- "torchfilename": "Restomer_low_res_subtract_bl.pt",
404
- "demosaicing": "sixchan",
405
- "image_scale": 1,
406
- "conditioning": False,
407
- "batch_size": 1,
408
- "tile_size": 1024,
409
- "subtract_bl": True,
410
- "image_clip": True,
411
- },
412
- "Restomer_low_res_light_bl_subtracted": {
413
- "url": None,
414
- "filename": None,
415
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Restomer_low_res_light_bl_subtracted.pt",
416
- "torchfilename": "Restomer_low_res_light_bl_subtracted.pt",
417
- "demosaicing": "sixchan",
418
- "image_scale": 1,
419
- "conditioning": False,
420
- "batch_size": 1,
421
- "tile_size": 256,
422
- "subtract_bl": True,
423
- "image_clip": True,
424
- },
425
- "BaseDenoisingSIDD_mask": {
426
- "url": None,
427
- "filename": None,
428
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask.pt",
429
- "torchfilename": "BaseDenoisingSIDD_mask.pt",
430
- "demosaicing": "sixchan",
431
- "image_scale": 1,
432
- "conditioning": False,
433
- "batch_size": 1,
434
- "tile_size": 256,
435
- "subtract_bl": True,
436
- "image_clip": True,
437
- },
438
- "BaseDenoisingSIDD_mask_1650": {
439
- "url": None,
440
- "filename": None,
441
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650.pt",
442
- "torchfilename": "BaseDenoisingSIDD_mask_1650.pt",
443
- "demosaicing": "sixchan",
444
- "image_scale": 1,
445
- "conditioning": False,
446
- "batch_size": 1,
447
- "tile_size": 1024,
448
- "subtract_bl": True,
449
- "image_clip": True,
450
- },
451
- "BaseDenoisingSIDD_mask_1650_retraining": {
452
- "url": None,
453
- "filename": None,
454
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650_retraining.pt",
455
- "torchfilename": "BaseDenoisingSIDD_mask_1650_retraining.pt",
456
- "demosaicing": "sixchan",
457
- "image_scale": 1,
458
- "conditioning": False,
459
- "batch_size": 1,
460
- "tile_size": 256,
461
- "subtract_bl": True,
462
- "image_clip": True,
463
- },
464
- "BaseDenoisingSIDD_mask_1650_deeper": {
465
- "url": None,
466
- "filename": None,
467
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650_deeper.pt",
468
- "torchfilename": "BaseDenoisingSIDD_mask_1650_deeper.pt",
469
- "demosaicing": "sixchan",
470
- "image_scale": 1,
471
- "conditioning": False,
472
- "batch_size": 1,
473
- "tile_size": 256,
474
- "subtract_bl": True,
475
- "image_clip": True,
476
- },
477
- "Demosaic_resize_shallow_test_mask": {
478
- "url": None,
479
- "filename": None,
480
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Demosaic_resize_shallow_test_mask.pt",
481
- "torchfilename": "Demosaic_resize_shallow_test_mask.pt",
482
- "demosaicing": "sixchan",
483
- "image_scale": 1,
484
- "conditioning": False,
485
- "batch_size": 1,
486
- "tile_size": 256,
487
- "subtract_bl": True,
488
- "image_clip": True,
489
- },
490
- "demosacing_test": {
491
- "url": None,
492
- "filename": None,
493
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/demosacing_test.pt",
494
- "torchfilename": "demosacing_test.pt",
495
- "demosaicing": "sixchan",
496
- "image_scale": 1,
497
- "conditioning": False,
498
- "batch_size": 1,
499
- "tile_size": 1024,
500
- "subtract_bl": True,
501
- "image_clip": True,
502
- },
503
- "DemoSepRestormerDiT_demo_first_1650": {
504
- "url": None,
505
- "filename": None,
506
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoSepRestormerDiT_demo_first_1650.pt",
507
- "torchfilename": "DemoSepRestormerDiT_demo_first_1650.pt",
508
- "demosaicing": "sixchan",
509
- "image_scale": 1,
510
- "conditioning": False,
511
- "batch_size": 1,
512
- "tile_size": 256,
513
- "subtract_bl": True,
514
- "image_clip": True,
515
- },
516
- "BaseDenoisingSIDD_mask_1650_deeper_256": {
517
- "url": None,
518
- "filename": None,
519
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650_deeper_256.pt",
520
- "torchfilename": "BaseDenoisingSIDD_mask_1650_deeper_256.pt",
521
- "demosaicing": "sixchan",
522
- "image_scale": 1,
523
- "conditioning": False,
524
- "batch_size": 1,
525
- "tile_size": 256,
526
- "subtract_bl": True,
527
- "image_clip": True,
528
- },
529
- "BaseDenoisingSIDD_mask_360_256": {
530
- "url": None,
531
- "filename": None,
532
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_360_256.pt",
533
- "torchfilename": "BaseDenoisingSIDD_mask_360_256.pt",
534
- "demosaicing": "sixchan",
535
- "image_scale": 1,
536
- "conditioning": False,
537
- "batch_size": 1,
538
- "tile_size": 256,
539
- "subtract_bl": True,
540
- "image_clip": True,
541
- },
542
- "BaseDenoisingSIDD_mask_256_360_t2": {
543
- "url": None,
544
- "filename": None,
545
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_256_360_t2.pt",
546
- "torchfilename": "BaseDenoisingSIDD_mask_256_360_t2.pt",
547
- "demosaicing": "sixchan",
548
- "image_scale": 1,
549
- "conditioning": False,
550
- "batch_size": 1,
551
- "tile_size": 256,
552
- "subtract_bl": True,
553
- "image_clip": True,
554
- },
555
- "SixChanNAFDiT": {
556
- "url": None,
557
- "filename": None,
558
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/SixChanNAFDiT.pt",
559
- "torchfilename": "SixChanNAFDiT.pt",
560
- "demosaicing": "sixchan",
561
- "image_scale": 1,
562
- "conditioning": False,
563
- "batch_size": 1,
564
- "tile_size": 256,
565
- "subtract_bl": True,
566
- "image_clip": True,
567
- },
568
- "BaseDenoisingSIDD_mask_1650_deeper_768": {
569
- "url": None,
570
- "filename": None,
571
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650_deeper_768.pt",
572
- "torchfilename": "BaseDenoisingSIDD_mask_1650_deeper_768.pt",
573
- "demosaicing": "sixchan",
574
- "image_scale": 1,
575
- "conditioning": False,
576
- "batch_size": 1,
577
- "tile_size": 768,
578
- "subtract_bl": True,
579
- "image_clip": True,
580
- },
581
-
582
- "BaseDenoisingSIDD_mask_1650_deeper_768_cont": {
583
- "url": None,
584
- "filename": None,
585
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/BaseDenoisingSIDD_mask_1650_deeper_768_cont.pt",
586
- "torchfilename": "BaseDenoisingSIDD_mask_1650_deeper_768_cont.pt",
587
- "demosaicing": "sixchan",
588
- "image_scale": 1,
589
- "conditioning": False,
590
- "batch_size": 1,
591
- "tile_size": 768,
592
- "subtract_bl": True,
593
- "image_clip": True,
594
- },
595
-
596
- "SixChanRestormerDiT_DiT_test": {
597
- "url": None,
598
- "filename": None,
599
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/SixChanRestormerDiT_DiT_test.pt",
600
- "torchfilename": "SixChanRestormerDiT_DiT_test.pt",
601
- "demosaicing": "sixchan",
602
- "image_scale": 1,
603
- "conditioning": False,
604
- "batch_size": 1,
605
- "tile_size": 256,
606
- "subtract_bl": True,
607
- "image_clip": True,
608
- },
609
-
610
- "SixChanRestormerDiT_DiT_test_cont": {
611
- "url": None,
612
- "filename": None,
613
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/SixChanRestormerDiT_DiT_test_cont.pt",
614
- "torchfilename": "SixChanRestormerDiT_DiT_test_cont.pt",
615
- "demosaicing": "sixchan",
616
- "image_scale": 1,
617
- "conditioning": False,
618
- "batch_size": 1,
619
- "tile_size": 256,
620
- "subtract_bl": True,
621
- "image_clip": True,
622
- },
623
- "SixChanRestormerDiT_DiT_test_cont_768": {
624
- "url": None,
625
- "filename": None,
626
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/SixChanRestormerDiT_DiT_test_cont_768.pt",
627
- "torchfilename": "SixChanRestormerDiT_DiT_test_cont_768.pt",
628
- "demosaicing": "sixchan",
629
- "image_scale": 1,
630
- "conditioning": False,
631
- "batch_size": 1,
632
- "tile_size": 1024,
633
- "subtract_bl": True,
634
- "image_clip": True,
635
- },
636
- "Demosaic_resize_shallow_test_mask_cont": {
637
- "url": None,
638
- "filename": None,
639
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/Demosaic_resize_shallow_test_mask_cont.pt",
640
- "torchfilename": "Demosaic_resize_shallow_test_mask_cont.pt",
641
- "demosaicing": "sixchan",
642
- "image_scale": 1,
643
- "conditioning": False,
644
- "batch_size": 1,
645
- "tile_size": 256,
646
- "subtract_bl": False,
647
- "image_clip": True,
648
- },
649
- "DemoNAFNet_no_sca": {
650
- "url": None,
651
- "filename": None,
652
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNet_no_sca.pt",
653
- "torchfilename": "DemoNAFNet_no_sca.pt",
654
- "demosaicing": "sixchan",
655
- "image_scale": 1,
656
- "conditioning": False,
657
- "batch_size": 1,
658
- "tile_size": 256,
659
- "subtract_bl": False,
660
- "image_clip": True,
661
- },
662
- "DemoRestormerDiT_to_demo": {
663
- "url": None,
664
- "filename": None,
665
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo.pt",
666
- "torchfilename": "DemoRestormerDiT_to_demo.pt",
667
- "demosaicing": "sixchan",
668
- "image_scale": 1,
669
- "conditioning": False,
670
- "batch_size": 1,
671
- "tile_size": 768,
672
- "subtract_bl": True,
673
- "image_clip": True,
674
- },
675
- "DemoRestormerDiT_to_demo_cont": {
676
- "url": None,
677
- "filename": None,
678
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont.pt",
679
- "torchfilename": "DemoRestormerDiT_to_demo_cont.pt",
680
- "demosaicing": "sixchan",
681
- "image_scale": 1,
682
- "conditioning": False,
683
- "batch_size": 1,
684
- "tile_size": 256,
685
- "subtract_bl": True,
686
- "image_clip": True,
687
- },
688
- "DemoRestormerDiT_to_demo_cont_cont_768": {
689
- "url": None,
690
- "filename": None,
691
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768.pt",
692
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768.pt",
693
- "demosaicing": "sixchan",
694
- "image_scale": 1,
695
- "conditioning": False,
696
- "batch_size": 1,
697
- "tile_size": 768,
698
- "subtract_bl": True,
699
- "image_clip": True,
700
- },
701
- "DemoNAFNetDiTNoSCA_gelu_gate": {
702
- "url": None,
703
- "filename": None,
704
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoNAFNetDiTNoSCA_gelu_gate.pt",
705
- "torchfilename": "DemoNAFNetDiTNoSCA_gelu_gate.pt",
706
- "demosaicing": "sixchan",
707
- "image_scale": 1,
708
- "conditioning": False,
709
- "batch_size": 1,
710
- "tile_size": 768,
711
- "subtract_bl": True,
712
- "image_clip": True,
713
- },
714
- "DemoRestormerDiT_to_demo_cont_cont_768_texture": {
715
- "url": None,
716
- "filename": None,
717
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_texture.pt",
718
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_texture.pt",
719
- "demosaicing": "sixchan",
720
- "image_scale": 1,
721
- "conditioning": False,
722
- "batch_size": 1,
723
- "tile_size": 512,
724
- "subtract_bl": True,
725
- "image_clip": True,
726
- },
727
- "DemoRestormerDiT_to_demo_cont_cont_768_texture_v2": {
728
- "url": None,
729
- "filename": None,
730
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_texture_v2.pt",
731
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_texture_v2.pt",
732
- "demosaicing": "sixchan",
733
- "image_scale": 1,
734
- "conditioning": False,
735
- "batch_size": 1,
736
- "tile_size": 512,
737
- "subtract_bl": True,
738
- "image_clip": True,
739
- },
740
- "JDD": {
741
- "url": None,
742
- "filename": None,
743
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_RawNIND.pt",
744
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND.pt",
745
- "demosaicing": "sixchan",
746
- "image_scale": 1,
747
- "conditioning": False,
748
- "batch_size": 1,
749
- "tile_size": 768,
750
- "subtract_bl": False,
751
- "image_clip": True,
752
- },
753
- "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256": {
754
- "url": None,
755
- "filename": None,
756
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256.pt",
757
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256.pt",
758
- "demosaicing": "sixchan",
759
- "image_scale": 1,
760
- "conditioning": False,
761
- "batch_size": 1,
762
- "tile_size": 256,
763
- "subtract_bl": False,
764
- "image_clip": True,
765
- },
766
- "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256_bl": {
767
- "url": None,
768
- "filename": None,
769
- "torchurl": "https://github.com/rymuelle/RawForge/releases/download/JDD_v1.0.0/DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256_bl.pt",
770
- "torchfilename": "DemoRestormerDiT_to_demo_cont_cont_768_RawNIND_256_bl.pt",
771
- "demosaicing": "sixchan",
772
- "image_scale": 1,
773
- "conditioning": False,
774
- "batch_size": 1,
775
- "tile_size": 256,
776
- "subtract_bl": True,
777
- "image_clip": True,
778
- },
779
- }
780
-
781
- for model_config in MODEL_REGISTRY.values():
782
- model_config.setdefault("tile_size", 256)
783
- model_config.setdefault("tile_overlap", 0.25)
784
- model_config.setdefault("batch_size", 1)
785
- model_config.setdefault("conditioning", False)
@@ -1,36 +0,0 @@
1
- import torch
2
- import numpy as np
3
-
4
- class TorchBackend:
5
- def __init__(self, model, model_params, device):
6
- self.model = model
7
- self.model_params = model_params
8
- self.device = device
9
-
10
- dtype_map = {
11
- "cpu": torch.float16,
12
- "cuda": torch.float16,
13
- "mps": torch.float16,
14
- }
15
- self.autocast_dtype = dtype_map.get(device.type, torch.float32)
16
-
17
- def prepare_conditioning(self, cond):
18
- return torch.from_numpy(cond).to(self.device)
19
-
20
- def infer(self, batch, cond):
21
- batch = torch.from_numpy(batch).to(self.device)
22
-
23
- B = batch.shape[0]
24
- cond = cond.expand(B, -1)
25
-
26
- with torch.no_grad():
27
- with torch.autocast(
28
- device_type=self.device.type,
29
- dtype=self.autocast_dtype,
30
- ):
31
- if self.model_params["conditioning"]:
32
- output = self.model(batch, cond)
33
- else:
34
- output = self.model(batch)
35
-
36
- return output.cpu().numpy().clip(0, 1)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes