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.
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/PKG-INFO +1 -1
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/combinations.py +1 -1
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/trainer.py +12 -17
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/PKG-INFO +1 -1
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/setup.py +1 -1
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/LICENSE.md +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/README.md +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/combinations.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/combinations.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/importance/trainer.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/pruning/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/abc.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/exclude_zeros.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/quantizer.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantization/wrapper.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/quantize.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/gaussian_model.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/shculling/trainer.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs/train.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/SOURCES.txt +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/dependency_links.txt +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/requires.txt +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/reduced_3dgs.egg-info/top_level.txt +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/setup.cfg +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/ext.cpp +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/rasterize_points.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/kmeans.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/redundancy_score.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs/sh_culling.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/backward.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/forward.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/rasterizer_impl.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/diff_gaussian_rasterization/__init__.py +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/ext.cpp +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/rasterize_points.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/simple-knn/ext.cpp +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/simple-knn/simple_knn.cu +0 -0
- {reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/simple-knn/spatial.cu +0 -0
|
@@ -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,
|
|
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(
|
|
82
|
+
class BasePruner(OpacityPruner):
|
|
83
83
|
def __init__(
|
|
84
84
|
self, base_densifier: AbstractDensifier,
|
|
85
|
+
scene_extent,
|
|
85
86
|
dataset: List[Camera],
|
|
86
|
-
|
|
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
|
-
|
|
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
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/rasterize_points.cu
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu
RENAMED
|
File without changes
|
{reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/backward.cu
RENAMED
|
File without changes
|
{reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/cuda_rasterizer/forward.cu
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reduced_3dgs-1.9.4 → reduced_3dgs-1.9.5}/submodules/gaussian-importance/rasterize_points.cu
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|