reduced-3dgs 1.10.4__tar.gz → 1.10.6__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 (48) hide show
  1. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/PKG-INFO +1 -1
  2. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/combinations.py +8 -2
  3. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/importance/combinations.py +8 -2
  4. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/pruning/combinations.py +8 -2
  5. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantization/quantizer.py +11 -4
  6. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs.egg-info/PKG-INFO +1 -1
  7. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/setup.py +1 -1
  8. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/simple-knn/simple_knn.cu +1 -0
  9. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/LICENSE.md +0 -0
  10. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/README.md +0 -0
  11. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/__init__.py +0 -0
  12. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/importance/__init__.py +0 -0
  13. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/importance/trainer.py +0 -0
  14. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/prepare.py +0 -0
  15. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/pruning/__init__.py +0 -0
  16. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/pruning/trainer.py +0 -0
  17. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantization/__init__.py +0 -0
  18. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantization/abc.py +0 -0
  19. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantization/exclude_zeros.py +0 -0
  20. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantization/wrapper.py +0 -0
  21. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/quantize.py +0 -0
  22. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/shculling/__init__.py +0 -0
  23. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/shculling/gaussian_model.py +0 -0
  24. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/shculling/trainer.py +0 -0
  25. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs/train.py +0 -0
  26. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs.egg-info/SOURCES.txt +0 -0
  27. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs.egg-info/dependency_links.txt +0 -0
  28. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs.egg-info/requires.txt +0 -0
  29. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/reduced_3dgs.egg-info/top_level.txt +0 -0
  30. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/setup.cfg +0 -0
  31. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu +0 -0
  32. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu +0 -0
  33. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu +0 -0
  34. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py +0 -0
  35. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/ext.cpp +0 -0
  36. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/rasterize_points.cu +0 -0
  37. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/reduced_3dgs/kmeans.cu +0 -0
  38. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/reduced_3dgs/redundancy_score.cu +0 -0
  39. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/reduced_3dgs/sh_culling.cu +0 -0
  40. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu +0 -0
  41. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/cuda_rasterizer/backward.cu +0 -0
  42. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/cuda_rasterizer/forward.cu +0 -0
  43. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/cuda_rasterizer/rasterizer_impl.cu +0 -0
  44. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/diff_gaussian_rasterization/__init__.py +0 -0
  45. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/ext.cpp +0 -0
  46. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/gaussian-importance/rasterize_points.cu +0 -0
  47. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/submodules/simple-knn/ext.cpp +0 -0
  48. {reduced_3dgs-1.10.4 → reduced_3dgs-1.10.6}/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.10.4
3
+ Version: 1.10.6
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
@@ -97,11 +97,17 @@ def BaseFullPrunerInDensifyTrainer(
97
97
 
98
98
 
99
99
  def DepthFullPruningTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
100
- return DepthTrainerWrapper(BaseFullPruningTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
100
+ return DepthTrainerWrapper(
101
+ BaseFullPruningTrainer,
102
+ model, scene_extent, dataset,
103
+ *args, **kwargs)
101
104
 
102
105
 
103
106
  def DepthFullPrunerInDensifyTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
104
- return DepthTrainerWrapper(BaseFullPrunerInDensifyTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
107
+ return DepthTrainerWrapper(
108
+ BaseFullPrunerInDensifyTrainer,
109
+ model, scene_extent, dataset,
110
+ *args, **kwargs)
105
111
 
106
112
 
107
113
  def OpacityResetPruningTrainer(
@@ -52,11 +52,17 @@ def BaseImportancePrunerInDensifyTrainer(
52
52
 
53
53
 
54
54
  def DepthImportancePruningTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
55
- return DepthTrainerWrapper(BaseImportancePruningTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
55
+ return DepthTrainerWrapper(
56
+ BaseImportancePruningTrainer,
57
+ model, scene_extent, dataset,
58
+ *args, **kwargs)
56
59
 
57
60
 
58
61
  def DepthImportancePrunerInDensifyTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
59
- return DepthTrainerWrapper(BaseImportancePrunerInDensifyTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
62
+ return DepthTrainerWrapper(
63
+ BaseImportancePrunerInDensifyTrainer,
64
+ model, scene_extent, dataset,
65
+ *args, **kwargs)
60
66
 
61
67
 
62
68
  ImportancePruningTrainer = DepthImportancePruningTrainer
@@ -54,11 +54,17 @@ def BasePrunerInDensifyTrainer(
54
54
 
55
55
 
56
56
  def DepthPruningTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
57
- return DepthTrainerWrapper(BasePruningTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
57
+ return DepthTrainerWrapper(
58
+ BasePruningTrainer,
59
+ model, scene_extent, dataset,
60
+ *args, **kwargs)
58
61
 
59
62
 
60
63
  def DepthPrunerInDensifyTrainer(model: GaussianModel, scene_extent: float, dataset: TrainableCameraDataset, *args, **kwargs):
61
- return DepthTrainerWrapper(BasePrunerInDensifyTrainer, model, scene_extent, *args, dataset=dataset, **kwargs)
64
+ return DepthTrainerWrapper(
65
+ BasePrunerInDensifyTrainer,
66
+ model, scene_extent, dataset,
67
+ *args, **kwargs)
62
68
 
63
69
 
64
70
  PruningTrainer = DepthPruningTrainer
@@ -4,7 +4,15 @@ from typing import Dict, Tuple
4
4
  import torch
5
5
  import torch.nn as nn
6
6
  import numpy as np
7
- from sklearn.cluster import MiniBatchKMeans as KMeans
7
+ try:
8
+ from cuml.cluster import KMeans
9
+ kmeans_init = 'k-means||'
10
+ except ImportError:
11
+ print("Cuml not found, using sklearn's MiniBatchKMeans for quantization.")
12
+ from sklearn.cluster import MiniBatchKMeans
13
+ from functools import partial
14
+ KMeans = partial(MiniBatchKMeans, batch_size=256 * os.cpu_count())
15
+ kmeans_init = 'k-means++'
8
16
  from gaussian_splatting import GaussianModel
9
17
  from plyfile import PlyData, PlyElement
10
18
  import numpy as np
@@ -65,9 +73,8 @@ class VectorQuantizer(AbstractQuantizer):
65
73
  def generate_codebook(self, values: torch.Tensor, num_clusters, init_codebook=None):
66
74
  kmeans = KMeans(
67
75
  n_clusters=num_clusters, tol=self.tol, max_iter=self.max_iter,
68
- init='k-means++' if init_codebook is None else init_codebook.cpu().numpy(),
69
- random_state=0, n_init="auto", verbose=0,
70
- batch_size=256 * os.cpu_count()
76
+ init=kmeans_init if init_codebook is None else init_codebook.cpu().numpy(),
77
+ random_state=0, n_init="auto", verbose=1,
71
78
  )
72
79
  ids = torch.tensor(kmeans.fit_predict(values.cpu().numpy()), device=values.device)
73
80
  centers = torch.tensor(kmeans.cluster_centers_, dtype=values.dtype, device=values.device)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reduced_3dgs
3
- Version: 1.10.4
3
+ Version: 1.10.6
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.10.4',
63
+ version='1.10.6',
64
64
  author='yindaheng98',
65
65
  author_email='yindaheng98@gmail.com',
66
66
  url='https://github.com/yindaheng98/reduced-3dgs',
@@ -12,6 +12,7 @@
12
12
  #define BOX_SIZE 1024
13
13
  #define BOX_SIZE2 128
14
14
 
15
+ #include <float.h>
15
16
  #include "cuda_runtime.h"
16
17
  #include "device_launch_parameters.h"
17
18
  #include "simple_knn.h"
File without changes
File without changes
File without changes