reduced-3dgs 1.9.4__tar.gz → 1.9.5__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 (47) hide show
  1. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/PKG-INFO +1 -1
  2. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/combinations.py +1 -1
  3. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/trainer.py +12 -17
  4. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/PKG-INFO +1 -1
  5. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/setup.py +1 -1
  6. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/LICENSE.md +0 -0
  7. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/README.md +0 -0
  8. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/__init__.py +0 -0
  9. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/combinations.py +0 -0
  10. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/__init__.py +0 -0
  11. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/combinations.py +0 -0
  12. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/trainer.py +0 -0
  13. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/__init__.py +0 -0
  14. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/__init__.py +0 -0
  15. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/abc.py +0 -0
  16. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/exclude_zeros.py +0 -0
  17. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/quantizer.py +0 -0
  18. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/wrapper.py +0 -0
  19. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantize.py +0 -0
  20. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/__init__.py +0 -0
  21. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/gaussian_model.py +0 -0
  22. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/trainer.py +0 -0
  23. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/train.py +0 -0
  24. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/SOURCES.txt +0 -0
  25. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/dependency_links.txt +0 -0
  26. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/requires.txt +0 -0
  27. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/top_level.txt +0 -0
  28. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/setup.cfg +0 -0
  29. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu +0 -0
  30. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu +0 -0
  31. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu +0 -0
  32. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py +0 -0
  33. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/ext.cpp +0 -0
  34. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/rasterize_points.cu +0 -0
  35. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/kmeans.cu +0 -0
  36. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/redundancy_score.cu +0 -0
  37. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/sh_culling.cu +0 -0
  38. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu +0 -0
  39. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/backward.cu +0 -0
  40. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/forward.cu +0 -0
  41. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/rasterizer_impl.cu +0 -0
  42. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/diff_gaussian_rasterization/__init__.py +0 -0
  43. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/ext.cpp +0 -0
  44. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/rasterize_points.cu +0 -0
  45. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/simple-knn/ext.cpp +0 -0
  46. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/simple-knn/simple_knn.cu +0 -0
  47. {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/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.9.4
3
+ Version: 1.9.5
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
@@ -23,7 +23,7 @@ def PrunerInDensifyTrainerWrapper(
23
23
  return SplitCloneDensifierTrainerWrapper(
24
24
  lambda model, scene_extent: BasePruner(
25
25
  noargs_base_densifier_constructor(model, scene_extent, dataset),
26
- dataset,
26
+ scene_extent, dataset,
27
27
  prune_from_iter=prune_from_iter,
28
28
  prune_until_iter=prune_until_iter,
29
29
  prune_interval=prune_interval,
@@ -1,7 +1,7 @@
1
1
  from typing import Callable, List
2
2
  import torch
3
3
  from gaussian_splatting import GaussianModel, Camera
4
- from gaussian_splatting.trainer import AbstractDensifier, DensifierWrapper, DensificationTrainer, NoopDensifier
4
+ from gaussian_splatting.trainer import AbstractDensifier, OpacityPruner, DensificationTrainer, NoopDensifier
5
5
  from reduced_3dgs.diff_gaussian_rasterization._C import sphere_ellipsoid_intersection, allocate_minimum_redundancy_value, find_minimum_projected_pixel_size
6
6
  from reduced_3dgs.simple_knn._C import distIndex2
7
7
 
@@ -79,33 +79,28 @@ def mercy_gaussians(
79
79
  return mask
80
80
 
81
81
 
82
- class BasePruner(DensifierWrapper):
82
+ class BasePruner(OpacityPruner):
83
83
  def __init__(
84
84
  self, base_densifier: AbstractDensifier,
85
+ scene_extent,
85
86
  dataset: List[Camera],
86
- prune_from_iter=1000,
87
- prune_until_iter=15000,
88
- prune_interval: int = 100,
87
+ *args,
89
88
  box_size=1.,
90
89
  lambda_mercy=1.,
91
90
  mercy_minimum=3,
92
- mercy_type='redundancy_opacity'):
93
- super().__init__(base_densifier)
91
+ mercy_type='redundancy_opacity',
92
+ **kwargs):
93
+ super().__init__(base_densifier, scene_extent, *args, **kwargs)
94
94
  self.dataset = dataset
95
- self.prune_from_iter = prune_from_iter
96
- self.prune_until_iter = prune_until_iter
97
- self.prune_interval = prune_interval
98
95
  self.box_size = box_size
99
96
  self.lambda_mercy = lambda_mercy
100
97
  self.mercy_minimum = mercy_minimum
101
98
  self.mercy_type = mercy_type
102
99
 
103
- def densify_and_prune(self, loss, out, camera, step: int):
104
- ret = super().densify_and_prune(loss, out, camera, step)
105
- if self.prune_from_iter <= step <= self.prune_until_iter and step % self.prune_interval == 0:
106
- remove_mask = mercy_gaussians(self.model, self.dataset, self.box_size, self.lambda_mercy, self.mercy_minimum, self.mercy_type)
107
- ret = ret._replace(remove_mask=remove_mask if ret.remove_mask is None else torch.logical_or(remove_mask, ret.remove_mask))
108
- return ret
100
+ def prune(self) -> torch.Tensor:
101
+ remove_mask = mercy_gaussians(self.model, self.dataset, self.box_size, self.lambda_mercy, self.mercy_minimum, self.mercy_type)
102
+ prune_mask = torch.logical_or(super().prune(), remove_mask)
103
+ return prune_mask
109
104
 
110
105
 
111
106
  def PruningTrainerWrapper(
@@ -126,7 +121,7 @@ def PruningTrainerWrapper(
126
121
  model, scene_extent,
127
122
  BasePruner(
128
123
  noargs_base_densifier_constructor(model, scene_extent, dataset),
129
- dataset,
124
+ scene_extent, dataset,
130
125
  prune_from_iter=prune_from_iter,
131
126
  prune_until_iter=prune_until_iter,
132
127
  prune_interval=prune_interval,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reduced_3dgs
3
- Version: 1.9.4
3
+ Version: 1.9.5
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.9.4',
63
+ version='1.9.5',
64
64
  author='yindaheng98',
65
65
  author_email='yindaheng98@gmail.com',
66
66
  url='https://github.com/yindaheng98/reduced-3dgs',
File without changes
File without changes
File without changes