reduced-3dgs 1.10.2__tar.gz → 1.10.3__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.10.2 → reduced_3dgs-1.10.3}/PKG-INFO +1 -1
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantization/quantizer.py +11 -3
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantize.py +1 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs.egg-info/PKG-INFO +1 -1
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/setup.py +1 -1
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/LICENSE.md +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/README.md +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/combinations.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/importance/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/importance/combinations.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/importance/trainer.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/prepare.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/pruning/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/pruning/combinations.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/pruning/trainer.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantization/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantization/abc.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantization/exclude_zeros.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/quantization/wrapper.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/shculling/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/shculling/gaussian_model.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/shculling/trainer.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs/train.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs.egg-info/SOURCES.txt +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs.egg-info/dependency_links.txt +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs.egg-info/requires.txt +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/reduced_3dgs.egg-info/top_level.txt +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/setup.cfg +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/diff_gaussian_rasterization/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/ext.cpp +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/rasterize_points.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/reduced_3dgs/kmeans.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/reduced_3dgs/redundancy_score.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/reduced_3dgs/sh_culling.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/cuda_rasterizer/backward.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/cuda_rasterizer/forward.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/cuda_rasterizer/rasterizer_impl.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/diff_gaussian_rasterization/__init__.py +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/ext.cpp +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/rasterize_points.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/simple-knn/ext.cpp +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/simple-knn/simple_knn.cu +0 -0
- {reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/simple-knn/spatial.cu +0 -0
|
@@ -206,8 +206,7 @@ class VectorQuantizer(AbstractQuantizer):
|
|
|
206
206
|
ids_dict = self.find_nearest_cluster_id(model, self._codebook_dict)
|
|
207
207
|
return ids_dict, codebook_dict
|
|
208
208
|
|
|
209
|
-
def
|
|
210
|
-
ids_dict, codebook_dict = self.quantize(model, update_codebook=False)
|
|
209
|
+
def ply_dtype(self, max_sh_degree: int):
|
|
211
210
|
dtype_full = [
|
|
212
211
|
('x', 'f4'), ('y', 'f4'), ('z', 'f4'),
|
|
213
212
|
('nx', 'f4'), ('ny', 'f4'), ('nz', 'f4'),
|
|
@@ -217,13 +216,16 @@ class VectorQuantizer(AbstractQuantizer):
|
|
|
217
216
|
('scale', self.force_code_dtype or compute_uint_dtype(self.num_clusters_scaling)),
|
|
218
217
|
('f_dc', self.force_code_dtype or compute_uint_dtype(self.num_clusters_features_dc)),
|
|
219
218
|
]
|
|
220
|
-
for sh_degree in range(
|
|
219
|
+
for sh_degree in range(max_sh_degree):
|
|
221
220
|
force_code_dtype = self.force_code_dtype or compute_uint_dtype(self.num_clusters_features_rest[sh_degree])
|
|
222
221
|
dtype_full.extend([
|
|
223
222
|
(f'f_rest_{sh_degree}_0', force_code_dtype),
|
|
224
223
|
(f'f_rest_{sh_degree}_1', force_code_dtype),
|
|
225
224
|
(f'f_rest_{sh_degree}_2', force_code_dtype),
|
|
226
225
|
])
|
|
226
|
+
return dtype_full
|
|
227
|
+
|
|
228
|
+
def ply_data(self, model: GaussianModel, ids_dict: Dict[str, torch.Tensor]):
|
|
227
229
|
data_full = [
|
|
228
230
|
*np.array_split(model._xyz.detach().cpu().numpy(), 3, axis=1),
|
|
229
231
|
*np.array_split(torch.zeros_like(model._xyz).detach().cpu().numpy(), 3, axis=1),
|
|
@@ -236,6 +238,12 @@ class VectorQuantizer(AbstractQuantizer):
|
|
|
236
238
|
for sh_degree in range(model.max_sh_degree):
|
|
237
239
|
features_rest = ids_dict[f'features_rest_{sh_degree}'].cpu().numpy()
|
|
238
240
|
data_full.extend(np.array_split(features_rest, 3, axis=1))
|
|
241
|
+
return data_full
|
|
242
|
+
|
|
243
|
+
def save_quantized(self, model: GaussianModel, ply_path: str):
|
|
244
|
+
ids_dict, codebook_dict = self.quantize(model, update_codebook=False)
|
|
245
|
+
dtype_full = self.ply_dtype(model.max_sh_degree)
|
|
246
|
+
data_full = self.ply_data(model, ids_dict)
|
|
239
247
|
|
|
240
248
|
elements = np.rec.fromarrays([data.squeeze(-1) for data in data_full], dtype=dtype_full)
|
|
241
249
|
el = PlyElement.describe(elements, 'vertex')
|
|
@@ -13,6 +13,7 @@ def copy_not_exists(source, destination):
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def quantize(source, destination, iteration, sh_degree, device, **kwargs):
|
|
16
|
+
os.makedirs(destination, exist_ok=True)
|
|
16
17
|
copy_not_exists(os.path.join(source, "cfg_args"), os.path.join(destination, "cfg_args"))
|
|
17
18
|
copy_not_exists(os.path.join(source, "cameras.json"), os.path.join(destination, "cameras.json"))
|
|
18
19
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/diff-gaussian-rasterization/reduced_3dgs.cu
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reduced_3dgs-1.10.2 → reduced_3dgs-1.10.3}/submodules/gaussian-importance/rasterize_points.cu
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|