reduced-3dgs 1.8.18__tar.gz → 1.8.19__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.

Potentially problematic release.


This version of reduced-3dgs might be problematic. Click here for more details.

Files changed (49) hide show
  1. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/PKG-INFO +1 -1
  2. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/combinations.py +70 -12
  3. reduced_3dgs-1.8.19/reduced_3dgs/importance/__init__.py +3 -0
  4. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/importance/combinations.py +2 -1
  5. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/importance/trainer.py +5 -22
  6. reduced_3dgs-1.8.19/reduced_3dgs/pruning/__init__.py +2 -0
  7. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/pruning/combinations.py +20 -6
  8. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/pruning/trainer.py +18 -4
  9. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/train.py +8 -11
  10. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs.egg-info/PKG-INFO +1 -1
  11. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/setup.py +1 -1
  12. reduced_3dgs-1.8.18/reduced_3dgs/importance/__init__.py +0 -2
  13. reduced_3dgs-1.8.18/reduced_3dgs/pruning/__init__.py +0 -2
  14. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/LICENSE.md +0 -0
  15. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/README.md +0 -0
  16. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/__init__.py +0 -0
  17. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantization/__init__.py +0 -0
  18. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantization/abc.py +0 -0
  19. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantization/exclude_zeros.py +0 -0
  20. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantization/quantizer.py +0 -0
  21. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantization/wrapper.py +0 -0
  22. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/quantize.py +0 -0
  23. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/shculling/__init__.py +0 -0
  24. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/shculling/gaussian_model.py +0 -0
  25. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs/shculling/trainer.py +0 -0
  26. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs.egg-info/SOURCES.txt +0 -0
  27. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs.egg-info/dependency_links.txt +0 -0
  28. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs.egg-info/requires.txt +0 -0
  29. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/reduced_3dgs.egg-info/top_level.txt +0 -0
  30. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/setup.cfg +0 -0
  31. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu +0 -0
  32. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu +0 -0
  33. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu +0 -0
  34. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py +0 -0
  35. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/ext.cpp +0 -0
  36. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/rasterize_points.cu +0 -0
  37. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/reduced_3dgs/kmeans.cu +0 -0
  38. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/reduced_3dgs/redundancy_score.cu +0 -0
  39. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/reduced_3dgs/sh_culling.cu +0 -0
  40. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu +0 -0
  41. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/cuda_rasterizer/backward.cu +0 -0
  42. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/cuda_rasterizer/forward.cu +0 -0
  43. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/cuda_rasterizer/rasterizer_impl.cu +0 -0
  44. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/diff_gaussian_rasterization/__init__.py +0 -0
  45. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/ext.cpp +0 -0
  46. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/gaussian-importance/rasterize_points.cu +0 -0
  47. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/simple-knn/ext.cpp +0 -0
  48. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/simple-knn/simple_knn.cu +0 -0
  49. {reduced_3dgs-1.8.18 → reduced_3dgs-1.8.19}/submodules/simple-knn/spatial.cu +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reduced_3dgs
3
- Version: 1.8.18
3
+ Version: 1.8.19
4
4
  Summary: Refactored code for the paper "Reducing the Memory Footprint of 3D Gaussian Splatting"
5
5
  Home-page: https://github.com/yindaheng98/reduced-3dgs
6
6
  Author: yindaheng98
@@ -1,13 +1,67 @@
1
+ from typing import List
1
2
  from gaussian_splatting import GaussianModel, CameraTrainableGaussianModel, Camera
2
3
  from gaussian_splatting.dataset import CameraDataset, TrainableCameraDataset
3
4
  from gaussian_splatting.trainer import OpacityResetDensificationTrainer
4
5
  # from gaussian_splatting.trainer import BaseOpacityResetDensificationTrainer as OpacityResetDensificationTrainer
5
- from gaussian_splatting.trainer import OpacityResetTrainerWrapper, CameraTrainerWrapper
6
+ from gaussian_splatting.trainer import OpacityResetTrainerWrapper, CameraTrainerWrapper, NoopDensifier, DepthTrainerWrapper
6
7
  from .shculling import VariableSHGaussianModel, SHCullingTrainerWrapper
7
8
  from .shculling import SHCullingTrainer
8
9
  # from .shculling import BaseSHCullingTrainer as SHCullingTrainer
9
- from .pruning import PruningTrainer, PrunerInDensifyTrainer
10
+ from .pruning import PruningTrainerWrapper, PrunerInDensifyTrainerWrapper
10
11
  # from .pruning import BasePruningTrainer as PruningTrainer, BasePrunerInDensifyTrainer as PrunerInDensifyTrainer
12
+ from .importance import ImportancePruner
13
+
14
+
15
+ def BaseFullPruningTrainer(
16
+ model: GaussianModel,
17
+ scene_extent: float,
18
+ dataset: List[Camera],
19
+ *args,
20
+ importance_prune_from_iter=1000,
21
+ importance_prune_until_iter=15000,
22
+ importance_prune_interval: int = 100,
23
+ **kwargs):
24
+ return PruningTrainerWrapper(
25
+ lambda model, scene_extent, dataset: ImportancePruner(
26
+ NoopDensifier(model),
27
+ dataset,
28
+ importance_prune_from_iter=importance_prune_from_iter,
29
+ importance_prune_until_iter=importance_prune_until_iter,
30
+ importance_prune_interval=importance_prune_interval,
31
+ ),
32
+ model, scene_extent, dataset,
33
+ *args, **kwargs
34
+ )
35
+
36
+
37
+ def BaseFullPrunerInDensifyTrainer(
38
+ model: GaussianModel,
39
+ scene_extent: float,
40
+ dataset: List[Camera],
41
+ *args,
42
+ importance_prune_from_iter=1000,
43
+ importance_prune_until_iter=15000,
44
+ importance_prune_interval: int = 100,
45
+ **kwargs):
46
+ return PrunerInDensifyTrainerWrapper(
47
+ lambda model, scene_extent, dataset: ImportancePruner(
48
+ NoopDensifier(model),
49
+ dataset,
50
+ importance_prune_from_iter=importance_prune_from_iter,
51
+ importance_prune_until_iter=importance_prune_until_iter,
52
+ importance_prune_interval=importance_prune_interval,
53
+ ),
54
+ model, scene_extent, dataset,
55
+ *args, **kwargs
56
+ )
57
+
58
+
59
+ def DepthFullPruningTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
60
+ return DepthTrainerWrapper(BaseFullPruningTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
61
+
62
+
63
+ def DepthFullPrunerInDensifyTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
64
+ return DepthTrainerWrapper(BaseFullPrunerInDensifyTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
11
65
 
12
66
 
13
67
  def OpacityResetPruningTrainer(
@@ -16,7 +70,7 @@ def OpacityResetPruningTrainer(
16
70
  dataset: CameraDataset,
17
71
  *args, **kwargs):
18
72
  return OpacityResetTrainerWrapper(
19
- lambda model, scene_extent, *args, **kwargs: PruningTrainer(model, scene_extent, dataset, *args, **kwargs),
73
+ lambda model, scene_extent, *args, **kwargs: DepthFullPruningTrainer(model, scene_extent, dataset, *args, **kwargs),
20
74
  model, scene_extent,
21
75
  *args, **kwargs
22
76
  )
@@ -28,13 +82,17 @@ def OpacityResetPrunerInDensifyTrainer(
28
82
  dataset: CameraDataset,
29
83
  *args, **kwargs):
30
84
  return OpacityResetTrainerWrapper(
31
- lambda model, scene_extent, *args, **kwargs: PrunerInDensifyTrainer(model, scene_extent, dataset, *args, **kwargs),
85
+ lambda model, scene_extent, *args, **kwargs: DepthFullPrunerInDensifyTrainer(model, scene_extent, dataset, *args, **kwargs),
32
86
  model, scene_extent,
33
87
  *args, **kwargs
34
88
  )
35
89
 
36
90
 
37
- def SHCullingDensifyTrainer(
91
+ PruningTrainer = OpacityResetPruningTrainer
92
+ PrunerInDensifyTrainer = OpacityResetPrunerInDensifyTrainer
93
+
94
+
95
+ def SHCullingDensificationTrainer(
38
96
  model: VariableSHGaussianModel,
39
97
  scene_extent: float,
40
98
  dataset: CameraDataset,
@@ -46,7 +104,7 @@ def SHCullingDensifyTrainer(
46
104
  )
47
105
 
48
106
 
49
- def SHCullingPruneTrainer(
107
+ def SHCullingPruningTrainer(
50
108
  model: VariableSHGaussianModel,
51
109
  scene_extent: float,
52
110
  dataset: CameraDataset,
@@ -58,7 +116,7 @@ def SHCullingPruneTrainer(
58
116
  )
59
117
 
60
118
 
61
- def SHCullingPruningDensifyTrainer(
119
+ def SHCullingPrunerInDensifyTrainer(
62
120
  model: VariableSHGaussianModel,
63
121
  scene_extent: float,
64
122
  dataset: CameraDataset,
@@ -99,7 +157,7 @@ def CameraPruningTrainer(
99
157
  )
100
158
 
101
159
 
102
- def CameraOpacityResetPrunerInDensifyTrainer(
160
+ def CameraPrunerInDensifyTrainer(
103
161
  model: CameraTrainableVariableSHGaussianModel,
104
162
  scene_extent: float,
105
163
  dataset: TrainableCameraDataset,
@@ -117,19 +175,19 @@ def CameraSHCullingDensifyTrainer(
117
175
  dataset: TrainableCameraDataset,
118
176
  *args, **kwargs):
119
177
  return CameraTrainerWrapper(
120
- SHCullingDensifyTrainer,
178
+ SHCullingDensificationTrainer,
121
179
  model, scene_extent, dataset,
122
180
  *args, **kwargs
123
181
  )
124
182
 
125
183
 
126
- def CameraSHCullingPruneTrainer(
184
+ def CameraSHCullingPruningTrainer(
127
185
  model: CameraTrainableVariableSHGaussianModel,
128
186
  scene_extent: float,
129
187
  dataset: TrainableCameraDataset,
130
188
  *args, **kwargs):
131
189
  return CameraTrainerWrapper(
132
- SHCullingPruneTrainer,
190
+ SHCullingPruningTrainer,
133
191
  model, scene_extent, dataset,
134
192
  *args, **kwargs
135
193
  )
@@ -141,7 +199,7 @@ def CameraSHCullingPruningDensifyTrainer(
141
199
  dataset: TrainableCameraDataset,
142
200
  *args, **kwargs):
143
201
  return CameraTrainerWrapper(
144
- SHCullingPruningDensifyTrainer,
202
+ SHCullingPrunerInDensifyTrainer,
145
203
  model, scene_extent, dataset,
146
204
  *args, **kwargs
147
205
  )
@@ -0,0 +1,3 @@
1
+ from .trainer import ImportancePruner, BaseImportancePruningTrainer
2
+ from .combinations import BaseImportancePrunerInDensifyTrainer, DepthImportancePruningTrainer, DepthImportancePrunerInDensifyTrainer
3
+ from .combinations import ImportancePruningTrainer, ImportancePrunerInDensifyTrainer
@@ -9,10 +9,11 @@ def BaseImportancePrunerInDensifyTrainer(
9
9
  model: GaussianModel,
10
10
  scene_extent: float,
11
11
  dataset: List[Camera],
12
+ *args,
12
13
  importance_prune_from_iter=1000,
13
14
  importance_prune_until_iter=15000,
14
15
  importance_prune_interval=100,
15
- *args, **kwargs):
16
+ **kwargs):
16
17
  return DensificationTrainerWrapper(
17
18
  lambda model, scene_extent: ImportancePruner(
18
19
  NoopDensifier(model),
@@ -91,9 +91,9 @@ class ImportancePruner(DensifierWrapper):
91
91
  def __init__(
92
92
  self, base_densifier: AbstractDensifier,
93
93
  dataset: CameraDataset,
94
- importance_prune_from_iter=1000,
95
- importance_prune_until_iter=15000,
96
- importance_prune_interval: int = 100,
94
+ importance_prune_from_iter=15000,
95
+ importance_prune_until_iter=20000,
96
+ importance_prune_interval: int = 1000,
97
97
  ):
98
98
  super().__init__(base_densifier)
99
99
  self.dataset = dataset
@@ -109,32 +109,15 @@ class ImportancePruner(DensifierWrapper):
109
109
  return ret
110
110
 
111
111
 
112
- def ImportancePrunerWrapper(
113
- base_densifier_constructor: Callable[..., AbstractDensifier],
114
- model: GaussianModel,
115
- scene_extent: float,
116
- dataset: List[Camera],
117
- importance_prune_from_iter=1000,
118
- importance_prune_until_iter=15000,
119
- importance_prune_interval: int = 100,
120
- *args, **kwargs):
121
- return ImportancePruner(
122
- base_densifier_constructor(model, scene_extent, *args, **kwargs),
123
- dataset,
124
- importance_prune_from_iter=importance_prune_from_iter,
125
- importance_prune_until_iter=importance_prune_until_iter,
126
- importance_prune_interval=importance_prune_interval,
127
- )
128
-
129
-
130
112
  def BaseImportancePruningTrainer(
131
113
  model: GaussianModel,
132
114
  scene_extent: float,
133
115
  dataset: List[Camera],
116
+ *args,
134
117
  importance_prune_from_iter=1000,
135
118
  importance_prune_until_iter=15000,
136
119
  importance_prune_interval: int = 100,
137
- *args, **kwargs):
120
+ **kwargs):
138
121
  return DensificationTrainer(
139
122
  model, scene_extent,
140
123
  ImportancePruner(
@@ -0,0 +1,2 @@
1
+ from .trainer import BasePruner, BasePruningTrainer, PruningTrainerWrapper
2
+ from .combinations import BasePrunerInDensifyTrainer, PruningTrainer, PrunerInDensifyTrainer, PrunerInDensifyTrainerWrapper
@@ -1,15 +1,17 @@
1
1
 
2
- from typing import List
2
+ from typing import Callable, List
3
3
  from gaussian_splatting import Camera, GaussianModel
4
4
  from gaussian_splatting.dataset import TrainableCameraDataset
5
- from gaussian_splatting.trainer import DepthTrainerWrapper, NoopDensifier, DensificationTrainerWrapper
5
+ from gaussian_splatting.trainer import AbstractDensifier, DepthTrainerWrapper, NoopDensifier, SplitCloneDensifierTrainerWrapper
6
6
  from .trainer import BasePruner, BasePruningTrainer
7
7
 
8
8
 
9
- def BasePrunerInDensifyTrainer(
9
+ def PrunerInDensifyTrainerWrapper(
10
+ noargs_base_densifier_constructor: Callable[[GaussianModel, float, List[Camera]], AbstractDensifier],
10
11
  model: GaussianModel,
11
12
  scene_extent: float,
12
13
  dataset: List[Camera],
14
+ *args,
13
15
  prune_from_iter=1000,
14
16
  prune_until_iter=15000,
15
17
  prune_interval: int = 100,
@@ -17,10 +19,10 @@ def BasePrunerInDensifyTrainer(
17
19
  lambda_mercy=1.,
18
20
  mercy_minimum=3,
19
21
  mercy_type='redundancy_opacity',
20
- *args, **kwargs):
21
- return DensificationTrainerWrapper(
22
+ **kwargs):
23
+ return SplitCloneDensifierTrainerWrapper(
22
24
  lambda model, scene_extent: BasePruner(
23
- NoopDensifier(model),
25
+ noargs_base_densifier_constructor(model, scene_extent, dataset),
24
26
  dataset,
25
27
  prune_from_iter=prune_from_iter,
26
28
  prune_until_iter=prune_until_iter,
@@ -36,6 +38,18 @@ def BasePrunerInDensifyTrainer(
36
38
  )
37
39
 
38
40
 
41
+ def BasePrunerInDensifyTrainer(
42
+ model: GaussianModel,
43
+ scene_extent: float,
44
+ dataset: List[Camera],
45
+ *args, **kwargs):
46
+ return PrunerInDensifyTrainerWrapper(
47
+ lambda model, scene_extent, dataset: NoopDensifier(model),
48
+ model, scene_extent, dataset,
49
+ *args, **kwargs
50
+ )
51
+
52
+
39
53
  # Depth trainer
40
54
 
41
55
 
@@ -1,4 +1,4 @@
1
- from typing import List
1
+ from typing import Callable, List
2
2
  import torch
3
3
  from gaussian_splatting import GaussianModel, Camera
4
4
  from gaussian_splatting.trainer import AbstractDensifier, DensifierWrapper, DensificationTrainer, NoopDensifier
@@ -108,10 +108,12 @@ class BasePruner(DensifierWrapper):
108
108
  return ret
109
109
 
110
110
 
111
- def BasePruningTrainer(
111
+ def PruningTrainerWrapper(
112
+ noargs_base_densifier_constructor: Callable[[GaussianModel, float, List[Camera]], AbstractDensifier],
112
113
  model: GaussianModel,
113
114
  scene_extent: float,
114
115
  dataset: List[Camera],
116
+ *args,
115
117
  prune_from_iter=1000,
116
118
  prune_until_iter=15000,
117
119
  prune_interval: int = 100,
@@ -119,11 +121,11 @@ def BasePruningTrainer(
119
121
  lambda_mercy=1.,
120
122
  mercy_minimum=3,
121
123
  mercy_type='redundancy_opacity',
122
- *args, **kwargs):
124
+ **kwargs):
123
125
  return DensificationTrainer(
124
126
  model, scene_extent,
125
127
  BasePruner(
126
- NoopDensifier(model),
128
+ noargs_base_densifier_constructor(model, scene_extent, dataset),
127
129
  dataset,
128
130
  prune_from_iter=prune_from_iter,
129
131
  prune_until_iter=prune_until_iter,
@@ -134,3 +136,15 @@ def BasePruningTrainer(
134
136
  mercy_type=mercy_type,
135
137
  ), *args, **kwargs
136
138
  )
139
+
140
+
141
+ def BasePruningTrainer(
142
+ model: GaussianModel,
143
+ scene_extent: float,
144
+ dataset: List[Camera],
145
+ *args, **kwargs):
146
+ return DensificationTrainer(
147
+ lambda model, scene_extent, dataset: NoopDensifier(model),
148
+ model, scene_extent, dataset,
149
+ *args, **kwargs
150
+ )
@@ -14,30 +14,27 @@ from gaussian_splatting.trainer.extensions import ScaleRegularizeTrainerWrapper
14
14
  from reduced_3dgs.quantization import AbstractQuantizer, VectorQuantizeTrainerWrapper
15
15
  from reduced_3dgs.shculling import VariableSHGaussianModel, SHCullingTrainer
16
16
  from reduced_3dgs.pruning import PruningTrainer
17
- from reduced_3dgs.pruning.importance import ImportancePruningTrainerWrapper
18
- from reduced_3dgs.combinations import OpacityResetPrunerInDensifyTrainer, SHCullingDensifyTrainer, SHCullingPruneTrainer, SHCullingPruningDensifyTrainer
17
+ from reduced_3dgs.combinations import PrunerInDensifyTrainer, SHCullingDensificationTrainer, SHCullingPruningTrainer, SHCullingPrunerInDensifyTrainer
19
18
  from reduced_3dgs.combinations import CameraTrainableVariableSHGaussianModel, CameraSHCullingTrainer, CameraPruningTrainer
20
- from reduced_3dgs.combinations import CameraOpacityResetPrunerInDensifyTrainer, CameraSHCullingDensifyTrainer, CameraSHCullingPruneTrainer, CameraSHCullingPruningDensifyTrainer
19
+ from reduced_3dgs.combinations import CameraPrunerInDensifyTrainer, CameraSHCullingDensifyTrainer, CameraSHCullingPruningTrainer, CameraSHCullingPruningDensifyTrainer
21
20
 
22
21
 
23
22
  basemodes = {
24
23
  "shculling": SHCullingTrainer,
25
24
  "pruning": PruningTrainer,
26
- "densify-pruning": OpacityResetPrunerInDensifyTrainer,
27
- "densify-shculling": SHCullingDensifyTrainer,
28
- "prune-shculling": SHCullingPruneTrainer,
29
- "densify-prune-shculling": SHCullingPruningDensifyTrainer,
25
+ "densify-pruning": PrunerInDensifyTrainer,
26
+ "densify-shculling": SHCullingDensificationTrainer,
27
+ "prune-shculling": SHCullingPruningTrainer,
28
+ "densify-prune-shculling": SHCullingPrunerInDensifyTrainer,
30
29
  }
31
- basemodes = {k: lambda *args, **kwargs: ImportancePruningTrainerWrapper(v, *args, **kwargs) for k, v in basemodes.items()}
32
30
  cameramodes = {
33
31
  "camera-shculling": CameraSHCullingTrainer,
34
32
  "camera-pruning": CameraPruningTrainer,
35
- "camera-densify-pruning": CameraOpacityResetPrunerInDensifyTrainer,
33
+ "camera-densify-pruning": CameraPrunerInDensifyTrainer,
36
34
  "camera-densify-shculling": CameraSHCullingDensifyTrainer,
37
- "camera-prune-shculling": CameraSHCullingPruneTrainer,
35
+ "camera-prune-shculling": CameraSHCullingPruningTrainer,
38
36
  "camera-densify-prune-shculling": CameraSHCullingPruningDensifyTrainer,
39
37
  }
40
- cameramodes = {k: lambda *args, **kwargs: ImportancePruningTrainerWrapper(v, *args, **kwargs) for k, v in cameramodes.items()}
41
38
 
42
39
 
43
40
  def prepare_quantizer(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reduced_3dgs
3
- Version: 1.8.18
3
+ Version: 1.8.19
4
4
  Summary: Refactored code for the paper "Reducing the Memory Footprint of 3D Gaussian Splatting"
5
5
  Home-page: https://github.com/yindaheng98/reduced-3dgs
6
6
  Author: yindaheng98
@@ -60,7 +60,7 @@ if os.name == 'nt':
60
60
 
61
61
  setup(
62
62
  name="reduced_3dgs",
63
- version='1.8.18',
63
+ version='1.8.19',
64
64
  author='yindaheng98',
65
65
  author_email='yindaheng98@gmail.com',
66
66
  url='https://github.com/yindaheng98/reduced-3dgs',
@@ -1,2 +0,0 @@
1
- from .trainer import ImportancePruner, BaseImportancePruningTrainer, ImportancePrunerWrapper
2
- from .combinations import BaseImportancePrunerInDensifyTrainer, ImportancePruningTrainer, ImportancePrunerInDensifyTrainer
@@ -1,2 +0,0 @@
1
- from .trainer import BasePruner, BasePruningTrainer
2
- from .combinations import BasePrunerInDensifyTrainer, PruningTrainer, PrunerInDensifyTrainer
File without changes
File without changes
File without changes