Skip to content

Commit

Permalink
Merge pull request princeton-vl#277 from princeton-vl/f_integration_test
Browse files Browse the repository at this point in the history
Integration Test Script
  • Loading branch information
araistrick authored Sep 23, 2024
2 parents 05260f0 + 53356ce commit 7bffc02
Show file tree
Hide file tree
Showing 14 changed files with 985 additions and 158 deletions.
7 changes: 0 additions & 7 deletions infinigen/assets/materials/art.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,6 @@ def shader_art_composite(nw: NodeWrangler, **kwargs):

return shader_art_composite

def make_sphere(self):
return make_sphere()


class ArtRug(ArtComposite):
@property
Expand All @@ -98,7 +95,3 @@ def apply(obj, selection=None, bbox=(0, 1, 0, 1), scale=None, **kwargs):
if scale is not None:
write_uv(obj, read_uv(obj) * scale)
Art(np.random.randint(1e5)).apply(obj, selection, bbox, **kwargs)


def make_sphere():
return text.make_sphere()
5 changes: 4 additions & 1 deletion infinigen/core/execute_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,10 @@ def execute_tasks(
col.hide_viewport = False

if need_terrain_processing and (
Task.Render in task or Task.GroundTruth in task or Task.MeshSave in task or Task.Export in task
Task.Render in task
or Task.GroundTruth in task
or Task.MeshSave in task
or Task.Export in task
):
terrain = Terrain(
scene_seed,
Expand Down
5 changes: 5 additions & 0 deletions infinigen/datagen/manage_jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ def slurm_submit_cmd(
gpus=0,
hours=1,
slurm_account=None,
slurm_nodelist=None,
slurm_partition=None,
slurm_exclude: list = None,
slurm_niceness=None,
Expand All @@ -129,6 +130,7 @@ def slurm_submit_cmd(

if gpus > 0:
executor.update_parameters(gpus_per_node=gpus)

if slurm_account is not None:
if slurm_account == f"ENVVAR_{PARTITION_ENVVAR}":
slurm_account = os.environ.get(PARTITION_ENVVAR)
Expand All @@ -150,6 +152,9 @@ def slurm_submit_cmd(
if slurm_partition is not None:
slurm_additional_params["partition"] = slurm_partition

if slurm_nodelist is not None:
slurm_additional_params["nodelist"] = slurm_nodelist

executor.update_parameters(slurm_additional_parameters=slurm_additional_params)

while True:
Expand Down
23 changes: 11 additions & 12 deletions infinigen/datagen/monitor_tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,14 +150,13 @@ def iterate_scene_tasks(
# even if we wouldnt launch them now (due to crashes etc)
monitor_all,
# provided by gin
global_tasks,
view_dependent_tasks,
camera_dependent_tasks,

frame_range,
cam_id_ranges,
point_trajectory_src_frame=1,
num_resamples=1,
global_tasks,
view_dependent_tasks,
camera_dependent_tasks,
frame_range,
cam_id_ranges,
point_trajectory_src_frame=1,
num_resamples=1,
render_frame_range=None,
finalize_tasks=[],
view_block_size=1, # how many frames should share each `view_dependent_task`
Expand Down Expand Up @@ -262,10 +261,10 @@ def iterate_scene_tasks(
min(view_frame_range[1], cam_frame + cam_block_size - 1),
] # blender frame_end is INCLUSIVE
cam_overrides = [
f'execute_tasks.frame_range=[{cam_frame_range[0]},{cam_frame_range[1]}]',
f'execute_tasks.camera_id=[{cam_rig},{subcam}]',
f'execute_tasks.resample_idx={resample_idx}',
f'execute_tasks.point_trajectory_src_frame={point_trajectory_src_frame}',
f"execute_tasks.frame_range=[{cam_frame_range[0]},{cam_frame_range[1]}]",
f"execute_tasks.camera_id=[{cam_rig},{subcam}]",
f"execute_tasks.resample_idx={resample_idx}",
f"execute_tasks.point_trajectory_src_frame={point_trajectory_src_frame}",
]

camdep_indices = dict(
Expand Down
8 changes: 4 additions & 4 deletions infinigen/datagen/util/template.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@ <h4 class="text-center flex-fill text-white">{{seed}}</h4>
<div class="row">
<div class="col-6 ms-a">
<img class="img-fluid lazy"
data-src="{{seed}}/frames_0_0000_0_0/Image0000_00_00.png"
data-src="{{seed}}/frames/Image/camera_0/Image0000_00_00.png"
title="Image">
</div>
<div class="col-6">
<img class="img-fluid lazy"
data-src="{{seed}}/frames_0_0000_0_0/Depth0000_00_00.png"
data-src="{{seed}}/frames/Depth/camera_0/Depth0000_00_00.png"
title="Depth">
</div>
</div>
<div class="row">
<div class="col-6">
<img class="img-fluid lazy"
data-src="{{seed}}/frames_0_0000_0_0/SurfaceNormal0000_00_00.png"
data-src="{{seed}}/frames/SurfaceNormal/camera_0/SurfaceNormal0000_00_00.png"
title="Surface Normals">
</div>
<div class="col-6">
<img class="img-fluid lazy"
data-src="{{seed}}/frames_0_0000_0_0/AO0000_00_00.png"
data-src="{{seed}}/frames/AO/camera_0/AO0000_00_00.png"
title="Ambient Occlusion">
</div>
</div>
Expand Down
14 changes: 11 additions & 3 deletions infinigen/terrain/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ def export(
if mesher_backend == "SphericalMesher":
mesher = OpaqueSphericalMesher(cameras, self.bounds)
elif mesher_backend == "OcMesher":
mesher = OcMesher(cameras, self.bounds)
mesher = OcMesher(cameras, self.bounds)
elif mesher_backend == "UniformMesher":
mesher = UniformMesher(self.populated_bounds)
else:
Expand Down Expand Up @@ -419,7 +419,9 @@ def coarse_terrain(self):
self.surfaces_into_sdf()

# do second time to avoid surface application difference resulting in floating rocks
coarse_meshes, _ = self.export(main_terrain_only=True, mesher_backend="UniformMesher")
coarse_meshes, _ = self.export(
main_terrain_only=True, mesher_backend="UniformMesher"
)
main_mesh = coarse_meshes[self.main_terrain]

# WaterCovered annotation
Expand Down Expand Up @@ -447,7 +449,13 @@ def coarse_terrain(self):
return main_obj

@gin.configurable
def fine_terrain(self, output_folder, cameras, optimize_terrain_diskusage=True, mesher_backend="SphericalMesher"):
def fine_terrain(
self,
output_folder,
cameras,
optimize_terrain_diskusage=True,
mesher_backend="SphericalMesher",
):
# redo sampling to achieve attribute -> surface correspondance
self.sample_surface_templates()
if (self.on_the_fly_asset_folder / Assets.Ocean).exists():
Expand Down
2 changes: 1 addition & 1 deletion infinigen/terrain/mesher/spherical_mesher.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ def __init__(
cams = full_info[0]
assert (
self.fov[0] < np.pi / 2 and self.fov[1] < np.pi / 2
), "`mesher_backend=SphericalMesher` does not support larger-than-90-degree fov yet. Please add `fine_terrain.mesher_backend = \"OcMesher\"` to your gin config."
), '`mesher_backend=SphericalMesher` does not support larger-than-90-degree fov yet. Please add `fine_terrain.mesher_backend = "OcMesher"` to your gin config.'
self.r_min = r_min
self.complete_depth_test = complete_depth_test
self.bounds = bounds
Expand Down
Loading

0 comments on commit 7bffc02

Please sign in to comment.