reduced-3dgs 1.9.4__cp312-cp312-win_amd64.whl → 1.9.5__cp312-cp312-win_amd64.whl

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.

@@ -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
@@ -2,16 +2,16 @@ reduced_3dgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  reduced_3dgs/combinations.py,sha256=k4ErxpAscCqJMtVXZ29KGQjw2VoZMV0W3V4u3nj0e-Y,9401
3
3
  reduced_3dgs/quantize.py,sha256=Y44qHyFdOIqke7NoeqXmyKloS43j-al74ZiNsuZZHbM,2527
4
4
  reduced_3dgs/train.py,sha256=jXHdXk05o_ebHjx_VBzcY6fRNn9EdKve6Tf5YC5an0o,9803
5
- reduced_3dgs/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=o_y_FvFjfs_Jqyq9_8SJV5jQKavL9Jk4nqISH9fP-LU,1640448
5
+ reduced_3dgs/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=D7ZCIZZAsv4ybmBpLOqxk_ciPlpO5TrxpHMejYYmKmc,1640448
6
6
  reduced_3dgs/diff_gaussian_rasterization/__init__.py,sha256=oV6JjTc-50MscX4XHeIWSgLr3l8Y25knBIs-0gRbJr4,7932
7
7
  reduced_3dgs/importance/__init__.py,sha256=neJsbY5cLikEGBQGdR4MjwCQ5VWVikT1357DwL0EtWU,289
8
8
  reduced_3dgs/importance/combinations.py,sha256=eAdykeTdvRGCHxskjILQnZVaqQVvwC-0wMxdgYMeeDs,2922
9
9
  reduced_3dgs/importance/trainer.py,sha256=Sj4ORvoYtFT7z3hifzFZDfhFyqumHraXyk3vMVtk0AU,12661
10
- reduced_3dgs/importance/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=Wi78OzF9IseWM0Hl07MG9ZU40BhShbihFWYqz1hx4tw,1320448
10
+ reduced_3dgs/importance/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=CKNzRxNhntqRRGnvMYtFjxzFqVIGcPZ92XMW59o0uBc,1320448
11
11
  reduced_3dgs/importance/diff_gaussian_rasterization/__init__.py,sha256=Tix8auyXBb_QFQtXrV3sLE9kdnl5zgHH0BbqcFzDp84,12850
12
12
  reduced_3dgs/pruning/__init__.py,sha256=E_YxJ9cDV_B6EJbYUBEcuRYMIht_C72rI1VJUXFCLpM,201
13
- reduced_3dgs/pruning/combinations.py,sha256=UivTfbSMmaWYVi9E4OF-_AZA-WBWniMiX-wKUftezF8,2331
14
- reduced_3dgs/pruning/trainer.py,sha256=898m5-7AZFmzQJtyMdQcInOZtDGsAeM3OAplHsm3oSY,6948
13
+ reduced_3dgs/pruning/combinations.py,sha256=QhXt2C7pTXhwzp9hPL9dVdiQzz0cUQpm5qljqytPEsM,2345
14
+ reduced_3dgs/pruning/trainer.py,sha256=JJml-uYfDfUpbsjRNZbIvnUYYslVgFXkhejbkYSo0s4,6542
15
15
  reduced_3dgs/quantization/__init__.py,sha256=1z1xMn3yj9u7cR9JizGrI3WSyIES_Tqq6oDquvglSeo,225
16
16
  reduced_3dgs/quantization/abc.py,sha256=rsi8HFRwQCltWTYiJ3BpygtQDT7hK6J01jKMOboOY8w,1910
17
17
  reduced_3dgs/quantization/exclude_zeros.py,sha256=fKSgjHous4OpdI6mQi9z23if9jnbB79w2jChpxkCJWw,2381
@@ -20,9 +20,9 @@ reduced_3dgs/quantization/wrapper.py,sha256=cyXqfJgo9b3fS7DYXxOk5LmQudvrEhweOebF
20
20
  reduced_3dgs/shculling/__init__.py,sha256=nP2BejDCUdCmJNRbg0hfhHREO6jyZXwIcRiw6ttVgqo,149
21
21
  reduced_3dgs/shculling/gaussian_model.py,sha256=f8QWaL09vaV9Tcf6Dngjg_Fmk1wTQPAjWhuhI_N02Y8,2877
22
22
  reduced_3dgs/shculling/trainer.py,sha256=9hwR77djhZpyf-URhwKHjnLbe0ZAOS-DIw58RzkcHXQ,6369
23
- reduced_3dgs/simple_knn/_C.cp312-win_amd64.pyd,sha256=lDmfptqx2mPJQW99lXsblwb6LHopGnmC805eukrs59A,1267712
24
- reduced_3dgs-1.9.4.dist-info/licenses/LICENSE.md,sha256=LQ4_LAqlncGkg_mQy5ykMAFtQDSPB0eKmIEtBut0yjw,4916
25
- reduced_3dgs-1.9.4.dist-info/METADATA,sha256=AxCPAYi-0sHw1PwzbbNWsK5GL1pdc8VoCnzSYXcjFik,13014
26
- reduced_3dgs-1.9.4.dist-info/WHEEL,sha256=t5QiC5vd2hOdU0bFY5fyqZIc3wMdCuUPTCilUZToJT4,101
27
- reduced_3dgs-1.9.4.dist-info/top_level.txt,sha256=PpU5aT3-baSCdqCtTaZknoB32H93UeKCkYDkRCCZMEI,13
28
- reduced_3dgs-1.9.4.dist-info/RECORD,,
23
+ reduced_3dgs/simple_knn/_C.cp312-win_amd64.pyd,sha256=nW0YFZFsAzZu92nWX3SLB7II3V0ivfkT2O9M0L9PmrM,1267712
24
+ reduced_3dgs-1.9.5.dist-info/licenses/LICENSE.md,sha256=LQ4_LAqlncGkg_mQy5ykMAFtQDSPB0eKmIEtBut0yjw,4916
25
+ reduced_3dgs-1.9.5.dist-info/METADATA,sha256=VkgFVSczzZCk6RpIMZ_fEA18ZVyf6tSc7cEJhLUtixY,13014
26
+ reduced_3dgs-1.9.5.dist-info/WHEEL,sha256=t5QiC5vd2hOdU0bFY5fyqZIc3wMdCuUPTCilUZToJT4,101
27
+ reduced_3dgs-1.9.5.dist-info/top_level.txt,sha256=PpU5aT3-baSCdqCtTaZknoB32H93UeKCkYDkRCCZMEI,13
28
+ reduced_3dgs-1.9.5.dist-info/RECORD,,