reduced-3dgs 1.9.1__cp312-cp312-win_amd64.whl → 1.9.3__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.

@@ -16,10 +16,11 @@ def BaseImportancePrunerInDensifyTrainer(
16
16
  importance_prune_type="comprehensive",
17
17
  importance_prune_percent=0.1,
18
18
  importance_prune_thr_important_score=None,
19
- importance_prune_thr_v_important_score=1.0,
19
+ importance_prune_thr_v_important_score=3.0,
20
20
  importance_prune_thr_max_v_important_score=None,
21
21
  importance_prune_thr_count=1,
22
- importance_prune_thr_T_alpha=0.01,
22
+ importance_prune_thr_T_alpha=0.1,
23
+ importance_prune_thr_T_alpha_avg=0.001,
23
24
  importance_v_pow=0.1,
24
25
  **kwargs):
25
26
  return DensificationTrainerWrapper(
@@ -36,6 +37,7 @@ def BaseImportancePrunerInDensifyTrainer(
36
37
  importance_prune_thr_max_v_important_score=importance_prune_thr_max_v_important_score,
37
38
  importance_prune_thr_count=importance_prune_thr_count,
38
39
  importance_prune_thr_T_alpha=importance_prune_thr_T_alpha,
40
+ importance_prune_thr_T_alpha_avg=importance_prune_thr_T_alpha_avg,
39
41
  importance_v_pow=importance_v_pow,
40
42
  ),
41
43
  model,
@@ -121,10 +121,11 @@ def prune_gaussians(
121
121
  prune_type="comprehensive",
122
122
  prune_percent=0.1,
123
123
  prune_thr_important_score=None,
124
- prune_thr_v_important_score=1.0,
124
+ prune_thr_v_important_score=None,
125
125
  prune_thr_max_v_important_score=None,
126
- prune_thr_count=1,
127
- prune_thr_T_alpha=0.01,
126
+ prune_thr_count=None,
127
+ prune_thr_T_alpha=None,
128
+ prune_thr_T_alpha_avg=None,
128
129
  v_pow=0.1):
129
130
  gaussian_list, opacity_imp_list, T_alpha_imp_list = prune_list(gaussians, dataset)
130
131
  match prune_type:
@@ -141,6 +142,10 @@ def prune_gaussians(
141
142
  case "T_alpha":
142
143
  # new importance score defined by doji
143
144
  mask = score2mask(prune_percent, T_alpha_imp_list, prune_thr_T_alpha)
145
+ case "T_alpha_avg":
146
+ v_list = T_alpha_imp_list / gaussian_list
147
+ v_list[gaussian_list <= 0] = 0
148
+ mask = score2mask(prune_percent, v_list, prune_thr_T_alpha_avg)
144
149
  case "comprehensive":
145
150
  mask = torch.zeros_like(gaussian_list, dtype=torch.bool)
146
151
  if prune_thr_important_score is not None:
@@ -155,6 +160,10 @@ def prune_gaussians(
155
160
  mask |= score2mask(prune_percent, gaussian_list, prune_thr_count)
156
161
  if prune_thr_T_alpha is not None:
157
162
  mask |= score2mask(prune_percent, T_alpha_imp_list, prune_thr_T_alpha)
163
+ if prune_thr_T_alpha_avg is not None:
164
+ v_list = T_alpha_imp_list / gaussian_list
165
+ v_list[gaussian_list <= 0] = 0
166
+ mask |= score2mask(prune_percent, v_list, prune_thr_T_alpha_avg)
158
167
  case _:
159
168
  raise Exception("Unsupportive prunning method")
160
169
  return mask
@@ -170,12 +179,12 @@ class ImportancePruner(DensifierWrapper):
170
179
  importance_prune_type="comprehensive",
171
180
  importance_prune_percent=0.1,
172
181
  importance_prune_thr_important_score=None,
173
- importance_prune_thr_v_important_score=1.0,
182
+ importance_prune_thr_v_important_score=3.0,
174
183
  importance_prune_thr_max_v_important_score=None,
175
184
  importance_prune_thr_count=1,
176
- importance_prune_thr_T_alpha=0.01,
177
- importance_v_pow=0.1
178
- ):
185
+ importance_prune_thr_T_alpha=1,
186
+ importance_prune_thr_T_alpha_avg=0.001,
187
+ importance_v_pow=0.1):
179
188
  super().__init__(base_densifier)
180
189
  self.dataset = dataset
181
190
  self.importance_prune_from_iter = importance_prune_from_iter
@@ -187,6 +196,7 @@ class ImportancePruner(DensifierWrapper):
187
196
  self.prune_thr_max_v_important_score = importance_prune_thr_max_v_important_score
188
197
  self.prune_thr_count = importance_prune_thr_count
189
198
  self.prune_thr_T_alpha = importance_prune_thr_T_alpha
199
+ self.prune_thr_T_alpha_avg = importance_prune_thr_T_alpha_avg
190
200
  self.v_pow = importance_v_pow
191
201
  self.prune_type = importance_prune_type
192
202
 
@@ -198,7 +208,7 @@ class ImportancePruner(DensifierWrapper):
198
208
  self.prune_type, self.prune_percent,
199
209
  self.prune_thr_important_score, self.prune_thr_v_important_score,
200
210
  self.prune_thr_max_v_important_score, self.prune_thr_count,
201
- self.prune_thr_T_alpha, self.v_pow,
211
+ self.prune_thr_T_alpha, self.prune_thr_T_alpha_avg, self.v_pow,
202
212
  )
203
213
  ret = ret._replace(remove_mask=remove_mask if ret.remove_mask is None else torch.logical_or(ret.remove_mask, remove_mask))
204
214
  return ret
@@ -215,10 +225,11 @@ def BaseImportancePruningTrainer(
215
225
  importance_prune_type="comprehensive",
216
226
  importance_prune_percent=0.1,
217
227
  importance_prune_thr_important_score=None,
218
- importance_prune_thr_v_important_score=1.0,
228
+ importance_prune_thr_v_important_score=3.0,
219
229
  importance_prune_thr_max_v_important_score=None,
220
230
  importance_prune_thr_count=1,
221
- importance_prune_thr_T_alpha=0.01,
231
+ importance_prune_thr_T_alpha=0.1,
232
+ importance_prune_thr_T_alpha_avg=0.001,
222
233
  importance_v_pow=0.1,
223
234
  **kwargs):
224
235
  return DensificationTrainer(
@@ -236,6 +247,7 @@ def BaseImportancePruningTrainer(
236
247
  importance_prune_thr_max_v_important_score=importance_prune_thr_max_v_important_score,
237
248
  importance_prune_thr_count=importance_prune_thr_count,
238
249
  importance_prune_thr_T_alpha=importance_prune_thr_T_alpha,
250
+ importance_prune_thr_T_alpha_avg=importance_prune_thr_T_alpha_avg,
239
251
  importance_v_pow=importance_v_pow,
240
252
  ), *args, **kwargs
241
253
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reduced_3dgs
3
- Version: 1.9.1
3
+ Version: 1.9.3
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,12 +2,12 @@ reduced_3dgs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  reduced_3dgs/combinations.py,sha256=FrZLxd3AZlHPSq_WJeEdGWH5zh40rAuV5txxr8HsSPY,7031
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=jBdMDOB4EBADFssveEKFmexgRdO5DAFIm1edGWOpOSk,1640448
5
+ reduced_3dgs/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=mprhB-TBrC7By8CHR6C37Ate1PPldnbuW1P7MMzuu_I,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
- reduced_3dgs/importance/combinations.py,sha256=Q2WqwXNuclPWBsw15aR14xQ72JewVeZo9igMeaSfuf8,2693
9
- reduced_3dgs/importance/trainer.py,sha256=ozzjPSXIpHNP4H1mkXlyAv5KJXWt1k4NKCikx9E9S1E,11151
10
- reduced_3dgs/importance/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=nt52bzd91cqJ0M5yp2inCHZzTon4M0_7mqQTjsKka9I,1320448
8
+ reduced_3dgs/importance/combinations.py,sha256=RjA1TiTYY3GDKTiFhlNGy4SLOJtVbb1S2T-viVagHMA,2821
9
+ reduced_3dgs/importance/trainer.py,sha256=S0fWvg2kDR5gMO3OWOiJKMv8yCGJyfTrJGCKhSSezac,11908
10
+ reduced_3dgs/importance/diff_gaussian_rasterization/_C.cp312-win_amd64.pyd,sha256=1giDEEQobpaN3MDLH5BlU49QLCvyNie1YTp_ghQ1hf4,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
13
  reduced_3dgs/pruning/combinations.py,sha256=UivTfbSMmaWYVi9E4OF-_AZA-WBWniMiX-wKUftezF8,2331
@@ -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=dia5INp_w0nT-yT90oS0tY3kJCAQ0-G7S1bpt5m-oNE,1267712
24
- reduced_3dgs-1.9.1.dist-info/licenses/LICENSE.md,sha256=LQ4_LAqlncGkg_mQy5ykMAFtQDSPB0eKmIEtBut0yjw,4916
25
- reduced_3dgs-1.9.1.dist-info/METADATA,sha256=TIrUop8Y3QjsjnVAxNEGADwBMtVArYSbYhhzMYLWMYc,13014
26
- reduced_3dgs-1.9.1.dist-info/WHEEL,sha256=6TCqs2-PEvxKuqw0d1ghd6tAo1nX2NnQFqKrzb5XC4g,101
27
- reduced_3dgs-1.9.1.dist-info/top_level.txt,sha256=PpU5aT3-baSCdqCtTaZknoB32H93UeKCkYDkRCCZMEI,13
28
- reduced_3dgs-1.9.1.dist-info/RECORD,,
23
+ reduced_3dgs/simple_knn/_C.cp312-win_amd64.pyd,sha256=evEEV6-Cd79Dlatq_ivuPowmOjT33QPz1Wfl_O3cQ4c,1267712
24
+ reduced_3dgs-1.9.3.dist-info/licenses/LICENSE.md,sha256=LQ4_LAqlncGkg_mQy5ykMAFtQDSPB0eKmIEtBut0yjw,4916
25
+ reduced_3dgs-1.9.3.dist-info/METADATA,sha256=F5CGIMF7fBLTpRvKqrHtbIhy7H15wEEuvPeSklClMEg,13014
26
+ reduced_3dgs-1.9.3.dist-info/WHEEL,sha256=6TCqs2-PEvxKuqw0d1ghd6tAo1nX2NnQFqKrzb5XC4g,101
27
+ reduced_3dgs-1.9.3.dist-info/top_level.txt,sha256=PpU5aT3-baSCdqCtTaZknoB32H93UeKCkYDkRCCZMEI,13
28
+ reduced_3dgs-1.9.3.dist-info/RECORD,,