pms-nvidia-processor 2.7.0__tar.gz → 2.8.0__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 (57) hide show
  1. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/PKG-INFO +1 -1
  2. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/__init__.py +1 -1
  3. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/col_en/config.py +4 -4
  4. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/col_en/processor.py +63 -2
  5. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pyproject.toml +1 -1
  6. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/README.md +0 -0
  7. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/base/config.py +0 -0
  8. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/base/dependency.py +0 -0
  9. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/base/logger.py +0 -0
  10. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/base/processor.py +0 -0
  11. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/cdru_f2/config.py +0 -0
  12. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/cdru_f2/context.py +0 -0
  13. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/cdru_f2/processor.py +0 -0
  14. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/col_en/context.py +0 -0
  15. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/color_resnet/config.py +0 -0
  16. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/color_resnet/context.py +0 -0
  17. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/color_resnet/processor_post.py +0 -0
  18. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/color_resnet/processor_pre.py +0 -0
  19. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dpir/config.py +0 -0
  20. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dpir/context.py +0 -0
  21. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dpir/processor.py +0 -0
  22. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_asm_sr_f3/config.py +0 -0
  23. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_asm_sr_f3/context.py +0 -0
  24. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_asm_sr_f3/processor.py +0 -0
  25. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_f3_gloss/config.py +0 -0
  26. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_f3_gloss/context.py +0 -0
  27. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_f3_gloss/processor.py +0 -0
  28. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_pc_f2/config.py +0 -0
  29. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_pc_f2/context.py +0 -0
  30. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_deinter_pc_f2/processor.py +0 -0
  31. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f3/config.py +0 -0
  32. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f3/context.py +0 -0
  33. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f3/processor.py +0 -0
  34. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f5/config.py +0 -0
  35. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f5/context.py +0 -0
  36. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/dru_rbpn_sr_f5/processor.py +0 -0
  37. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/fisf/config.py +0 -0
  38. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/fisf/context.py +0 -0
  39. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/fisf/processor.py +0 -0
  40. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/gg/config.py +0 -0
  41. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/gg/context.py +0 -0
  42. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/processor/gg/processor.py +0 -0
  43. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/batch.py +0 -0
  44. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/builder.py +0 -0
  45. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/caster.py +0 -0
  46. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/normalizer/__init__.py +0 -0
  47. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/normalizer/_factory.py +0 -0
  48. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/normalizer/_multi_normalizer.py +0 -0
  49. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/normalizer/_normalization_param.py +0 -0
  50. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/normalizer/_single_normalizer.py +0 -0
  51. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/__init__.py +0 -0
  52. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/_patch_collection.py +0 -0
  53. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/_patch_position.py +0 -0
  54. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/_patcher.py +0 -0
  55. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/_patcher_v2.py +0 -0
  56. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/patcher/_patcher_w.py +0 -0
  57. {pms_nvidia_processor-2.7.0 → pms_nvidia_processor-2.8.0}/pms_nvidia_processor/utility/pip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pms-nvidia-processor
3
- Version: 2.7.0
3
+ Version: 2.8.0
4
4
  Summary: lib for pms nvidia processors
5
5
  Author: HyeongSeok Kim
6
6
  Author-email: tiryul@gmail.com
@@ -29,4 +29,4 @@ __all__: list[str] = [
29
29
  "CDRUF2Processor",
30
30
  ]
31
31
 
32
- __version__ = "2.7.0"
32
+ __version__ = "2.8.0"
@@ -6,11 +6,11 @@ class ColEnConfig:
6
6
  NUMBER_OF_INPUT_CHANNELS: int = 3 * NUMBER_OF_FRAMES
7
7
  NUMBER_OF_OUTPUT_CHANNELS: int = 3
8
8
  UPSCALE_RATIO: int = 1
9
- PATCH_SIZE = 1280
10
- MAX_BATCH_SIZE = 1
9
+ PATCH_SIZE = 512
10
+ MAX_BATCH_SIZE = 8
11
11
  MIN_BATCH_SIZE = 1
12
- OPT_BATCH_SIZE = 1
13
- INPUT_OVERLAB_LENGTH = 640 # PATCH_SIZE // 2
12
+ OPT_BATCH_SIZE = 4
13
+ INPUT_OVERLAB_LENGTH = 256 # PATCH_SIZE // 2
14
14
 
15
15
  PATCHER_CONFIG = PatcherWIOConfig(
16
16
  patch_size=PATCH_SIZE,
@@ -48,6 +48,7 @@ class COLENProcessor(NVIDIAProcessorBase[EngineIOData, EngineIOData]):
48
48
  )
49
49
  self.config = ColEnConfig
50
50
  self.normalizer = normalizer.NormalizerFactory.create_multi(normalization)
51
+ self.patcher = None
51
52
 
52
53
  async def inference(
53
54
  self,
@@ -67,6 +68,52 @@ class COLENProcessor(NVIDIAProcessorBase[EngineIOData, EngineIOData]):
67
68
  output_image=batch_output_data,
68
69
  )
69
70
 
71
+ async def __run(self, input_data: EngineIOData) -> EngineIOData:
72
+ tact = {}
73
+ max_batch_size = self.io_shapes["input"][0][0]
74
+
75
+ # 여기서 patching
76
+ tact["0-preprocessing"] = time.time()
77
+ input_vector = self.caster.cast(input_data.frame)
78
+ [
79
+ self.normalizer.normalize(input_vector[:, :, i * 3 : (i + 1) * 3], 2)
80
+ for i in range(self.config.NUMBER_OF_FRAMES)
81
+ ]
82
+ tact["0-preprocessing"] = time.time() - tact["0-preprocessing"]
83
+ tact["1-create context"] = time.time()
84
+ context = ColEnContext(input_vector, self.patcher)
85
+ tact["1-create context"] = time.time() - tact["1-create context"]
86
+ tact["2-batch inference"] = time.time()
87
+ # batch inference
88
+ for batch_input_patches, batch_output_patches in zip(
89
+ batch.BatchTool.batch_list(context.input_patches, max_batch_size),
90
+ batch.BatchTool.batch_vector(context.output_patches, max_batch_size),
91
+ ):
92
+ await self.inference(
93
+ batch_input_data=batch_input_patches,
94
+ batch_output_data=batch_output_patches,
95
+ )
96
+ tact["2-batch inference"] = time.time() - tact["2-batch inference"]
97
+ tact["3-merge"] = time.time()
98
+ self.patcher.merge(
99
+ patches=context.output_patches,
100
+ output_vector=context.output_vector,
101
+ )
102
+ tact["3-merge"] = time.time() - tact["3-merge"]
103
+ tact["4-crop"] = time.time()
104
+ context.output_vector = patcher.crop_vector(
105
+ context.output_vector, context.input_pathcer._input_overlap_length
106
+ )
107
+ tact["4-crop"] = time.time() - tact["4-crop"]
108
+ tact["5-denormalize"] = time.time()
109
+ self.normalizer.denormalize(context.output_vector, 2)
110
+ tact["5-denormalize"] = time.time() - tact["5-denormalize"]
111
+ print("TACT: " + " ".join([f"{k}: {v*1000:.0f}ms" for k, v in tact.items()]))
112
+ return EngineIOData(
113
+ frame_id=input_data.frame_id,
114
+ frame=self.caster.uncast(context.output_vector),
115
+ )
116
+
70
117
  async def _run(self, input_data: EngineIOData) -> EngineIOData:
71
118
  max_batch_size = self.io_shapes["input"][0][0]
72
119
 
@@ -123,13 +170,13 @@ class COLENProcessor(NVIDIAProcessorBase[EngineIOData, EngineIOData]):
123
170
  self.config.NUMBER_OF_OUTPUT_CHANNELS,
124
171
  )
125
172
  )
126
- self.patcher = patcher.PatcherW(
173
+ temp_patcher = patcher.PatcherW(
127
174
  **patcher_config.build_patcher_params(
128
175
  input_vector=padded_input_image,
129
176
  output_vector=output_image,
130
177
  )
131
178
  )
132
- n_patches = len(self.patcher.slice(input_vector=padded_input_image))
179
+ n_patches = len(temp_patcher.slice(input_vector=padded_input_image))
133
180
 
134
181
  # set io shape
135
182
  self.batch_size = min(n_patches, self.config.MAX_BATCH_SIZE)
@@ -149,6 +196,13 @@ class COLENProcessor(NVIDIAProcessorBase[EngineIOData, EngineIOData]):
149
196
  required_batch_size=self.batch_size,
150
197
  io_shape=self.io_shapes,
151
198
  )
199
+ self.patcher = patcher.PatcherW(
200
+ **patcher_config.build_patcher_params(
201
+ input_vector=padded_input_image,
202
+ output_vector=output_image,
203
+ )
204
+ )
205
+ self.session._trt_proxy._context.push()
152
206
 
153
207
  # set io buffer
154
208
  self.input_buffer = self.session._input_bindings[0].host_buffer.reshape(
@@ -166,3 +220,10 @@ class COLENProcessor(NVIDIAProcessorBase[EngineIOData, EngineIOData]):
166
220
 
167
221
  def _get_concurrency(self) -> int:
168
222
  return self._concurrency
223
+
224
+ # def __del__(self):
225
+ # if self._session:
226
+ # self._session._trt_proxy._context.pop()
227
+ # del self._session
228
+ # if self.patcher:
229
+ # del self.patcher
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pms-nvidia-processor"
3
- version = "2.7.0"
3
+ version = "2.8.0"
4
4
  description = "lib for pms nvidia processors"
5
5
  authors = ["HyeongSeok Kim <tiryul@gmail.com>"]
6
6
  readme = "README.md"