Mods and bugfixes for LLFF and Blender repros

Summary:
LLFF (and most/all non-synth datasets) will have no background/foreground distinction. Add support for data with no fg mask.

Also, we had a bug in stats loading, like this:
  * Load stats
  * One of the stats has a history of length 0
  * That's fine, e.g. maybe it's fg_error but the dataset has no notion of fg/bg. So leave it as len 0
  * Check whether all the stats have the same history length as an arbitrarily chosen "reference-stat"
  * Ooops the reference-stat happened to be the stat with length 0
  * assert (legit_stat_len == reference_stat_len (=0)) ---> failed assert

Also some minor fixes (from Jeremy's other diff) to support LLFF

Reviewed By: davnov134

Differential Revision: D38475272

fbshipit-source-id: 5b35ac86d1d5239759f537621f41a3aa4eb3bd68
This commit is contained in:
Krzysztof Chalupka
2022-08-09 15:04:44 -07:00
committed by Facebook GitHub Bot
parent 624bc5a274
commit c83ec3555d
11 changed files with 51 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
defaults:
- repro_singleseq_base
- _self_
exp_dir: "./data/nerf_blender_publ/${oc.env:BLENDER_SINGLESEQ_CLASS}"
exp_dir: "./data/nerf_blender_repro/${oc.env:BLENDER_SINGLESEQ_CLASS}"
data_source_ImplicitronDataSource_args:
data_loader_map_provider_SequenceDataLoaderMapProvider_args:
dataset_length_train: 100
@@ -16,17 +16,18 @@ data_source_ImplicitronDataSource_args:
model_factory_ImplicitronModelFactory_args:
model_GenericModel_args:
raysampler_AdaptiveRaySampler_args:
mask_images: false
raysampler_class_type: NearFarRaySampler
raysampler_NearFarRaySampler_args:
n_rays_per_image_sampled_from_mask: 4096
scene_extent: 2.0
min_depth: 2
max_depth: 6
renderer_MultiPassEmissionAbsorptionRenderer_args:
density_noise_std_train: 1.0
n_pts_per_ray_fine_training: 128
n_pts_per_ray_fine_evaluation: 128
raymarcher_EmissionAbsorptionRaymarcher_args:
blend_output: true
bg_color:
- 1.0
blend_output: false
loss_weights:
loss_rgb_mse: 1.0
loss_prev_stage_rgb_mse: 1.0
@@ -35,11 +36,11 @@ model_factory_ImplicitronModelFactory_args:
loss_autodecoder_norm: 0.00
optimizer_factory_ImplicitronOptimizerFactory_args:
exponential_lr_step_size: 3001
exponential_lr_step_size: 2500
lr_policy: Exponential
training_loop_ImplicitronTrainingLoop_args:
max_epochs: 3001
max_epochs: 2000
metric_print_interval: 100
store_checkpoints_purge: 3
test_when_finished: true