Command Line Interface#

This page documents the command-line entry points shipped with Infinigen.

Infinigen 2.0#

infinigen2#

The main Infinigen 2.0 generation CLI: build one or more generators into a scene and render or export the result.

usage: infinigen2 [-h] [--list [CATEGORY ...]] [--output OUTPUT] [--seed SEED]
                  [--frames FRAMES FRAMES]
                  [--exporter_frames EXPORTER_FRAMES EXPORTER_FRAMES]
                  [-d [DEBUG ...]] [-q]
                  [--loglevel {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
                  [--passes {camera,rgb,rgb-denoised,rgb-hdr,rgb-denoised-hdr,scene,cam-trajectory-imu-tum,obj-trajectory-imu-tum,mesh,objects,optical-flow,depth-change,flow-3d,flow-mask-matched,flow-mask-cycle-consistency,inv-flow-3d,point-trajectories-3d,inv-point-trajectories-3d,depth,surface-normal,surface-normal-world,occlusion,semantic-segmentation,instance-segmentation,material-segmentation,object-index-table,material-index-table,attribute-mask,visualizations,diffuse-color,ambient-occlusion,diffuse-direct,diffuse-indirect,glossy-direct,glossy-indirect,transmission-direct,transmission-indirect,volume-direct,emission,environment} [{camera,rgb,rgb-denoised,rgb-hdr,rgb-denoised-hdr,scene,cam-trajectory-imu-tum,obj-trajectory-imu-tum,mesh,objects,optical-flow,depth-change,flow-3d,flow-mask-matched,flow-mask-cycle-consistency,inv-flow-3d,point-trajectories-3d,inv-point-trajectories-3d,depth,surface-normal,surface-normal-world,occlusion,semantic-segmentation,instance-segmentation,material-segmentation,object-index-table,material-index-table,attribute-mask,visualizations,diffuse-color,ambient-occlusion,diffuse-direct,diffuse-indirect,glossy-direct,glossy-indirect,transmission-direct,transmission-indirect,volume-direct,emission,environment} ...]]
                  [--save_blend [SAVE_BLEND]]
                  [--displacement_mode {NONE,BUMP,DISPLACEMENT,DISPLACEMENT_AND_BUMP,REALIZE_MESH}]
                  [--trace {codegen,codestats,graph} [{codegen,codestats,graph} ...]]
                  [--trace_level {GRAMMAR,RANDOM_CONTROL,RANDOM_PARAMS,GENERATORS,NODEGROUPS,PRIMITIVES}]
                  [-r RESOLUTION RESOLUTION] [-s SAMPLES]
                  [--focal_length_mm FOCAL_LENGTH_MM]
                  [--cameras CAMERAS [CAMERAS ...]] [--fps FPS]
                  [--on_interrupt {delete,cleanstate,exit,none}]
                  [generators ...]

Positional Arguments#

generators

Any sequence of generators to run, e.g. bricks_rand material_sphere render_cycles. The CLI chains generators together by connecting outputs to inputs. See the documentation for function names, or run infinigen2 --list for a list.

Named Arguments#

--list

List the available generators and exit, optionally filtering by category (e.g. infinigen2 --list Scene). Categories are case-insensitive. For more listing options (presets, custom columns, filtering) run python -m infinigen2.list.

--output

Output directory for generated scenes and renders

Default: outputs/myresult

--seed

Random seed for reproducible generation

--frames

Frame range to render (start, end)

Default: (0, 0)

--exporter_frames

Frame range for Exporter generators only; defaults to --frames. Lets the scene/camera span the full range while exporters render a subset.

-d, --debug
-q, --quiet

Default: 'INFO'

--loglevel

Possible choices: CRITICAL, FATAL, ERROR, WARN, WARNING, INFO, DEBUG, NOTSET

Default: 'INFO'

--passes

Possible choices: ExportType.CAMERA, ExportType.IMAGE, ExportType.IMAGE_DENOISED, ExportType.IMAGE_HDR, ExportType.IMAGE_DENOISED_HDR, ExportType.BLENDER_FILE, ExportType.CAM_IMU_TUM_TRAJ, ExportType.OBJ_IMU_TUM_TRAJ, ExportType.MESH, ExportType.OBJECTS_FILE, ExportType.OPTICAL_FLOW, ExportType.DEPTH_CHANGE, ExportType.FLOW_3D, ExportType.FLOW_MASK_MATCHED, ExportType.FLOW_MASK_CYCLECONSISTENCY, ExportType.INV_FLOW, ExportType.POINT_TRAJECTORIES, ExportType.INV_POINT_TRAJECTORIES, ExportType.DEPTH, ExportType.SURFACE_NORMAL, ExportType.SURFACE_NORMAL_WORLD, ExportType.OCCLUSION_BOUNDARIES, ExportType.OBJECT_INDEX, ExportType.INSTANCE_SEGMENTATION, ExportType.MATERIAL_INDEX, ExportType.OBJECT_INDEX_TABLE, ExportType.MATERIAL_INDEX_TABLE, ExportType.ATTRIBUTE_MASK, ExportType.VISUALIZATIONS, ExportType.DIFFUSE_COLOR, ExportType.AMBIENT_OCCLUSION, ExportType.DIFFUSE_DIRECT, ExportType.DIFFUSE_INDIRECT, ExportType.GLOSSY_DIRECT, ExportType.GLOSSY_INDIRECT, ExportType.TRANSMISSION_DIRECT, ExportType.TRANSMISSION_INDIRECT, ExportType.VOLUME_DIRECT, ExportType.EMISSION, ExportType.ENVIRONMENT

Default: [<ExportType.IMAGE: 'rgb'>]

--save_blend

Save a blender file to a given path, or to the output folder if not provided

--displacement_mode

Possible choices: NONE, BUMP, DISPLACEMENT, DISPLACEMENT_AND_BUMP, REALIZE_MESH

Default: 'DISPLACEMENT_AND_BUMP'

--trace

Possible choices: codegen, codestats, graph

Trace execution pipeline. Specify one or more of: codegen, codestats, graph.

--trace_level

Possible choices: GRAMMAR, RANDOM_CONTROL, RANDOM_PARAMS, GENERATORS, NODEGROUPS, PRIMITIVES

Trace granularity. choice() peeks through all options at >= RANDOM_CONTROL, resolves to chosen branch when finer.

Default: 'GENERATORS'

-r, --resolution

Resolution of the output images

Default: (512, 512)

-s, --samples

Number of samples for the rendering

Default: 1024

--focal_length_mm

Camera focal length in mm

Default: 15

--cameras

Camera indices to render (e.g. --cameras 0 1 for stereo)

Default: [0]

--fps

Frames per second (overrides Blender default of 24)

--on_interrupt

Possible choices: delete, cleanstate, exit, none

Default: 'none'

To list the available generators, run infinigen2 --list (optionally filtering by category, e.g. infinigen2 --list Scene).

Infinigen 1.0#

infinigen.datagen.manage_jobs#

The Infinigen 1.0 datagen job manager: orchestrate large-scale scene generation across a local machine or a SLURM cluster.

usage: python -m infinigen.datagen.manage_jobs [-h] [-o OUTPUT_FOLDER]
                                               [--num_scenes NUM_SCENES]
                                               [--meta_seed META_SEED]
                                               [--specific_seed SPECIFIC_SEED [SPECIFIC_SEED ...]]
                                               [--use_existing]
                                               [--warmup_sec WARMUP_SEC]
                                               [--cleanup {all,big_files,none,except_logs,except_crashed}]
                                               [--configs [CONFIGS ...]]
                                               [-p OVERRIDES [OVERRIDES ...]]
                                               [--wandb_mode {online,offline,disabled}]
                                               [--pipeline_configs PIPELINE_CONFIGS [PIPELINE_CONFIGS ...]]
                                               [--pipeline_overrides PIPELINE_OVERRIDES [PIPELINE_OVERRIDES ...]]
                                               [--overwrite] [-d] [-v]
                                               [--print_stats PRINT_STATS]

Named Arguments#

-o, --output_folder
--num_scenes

Number of scenes to attempt before terminating

Default: 1

--meta_seed

What seed should be used to determine the random seeds of each scene? Leave as None unless deliberately replicating past runs

--specific_seed

The default, None, will choose a random seed per scene. Otherwise, all scenes will have the specified seed. Interpreted as an integer if possible.

--use_existing

If set, then assume output_folder is an existing folder from a terminated run, and make a best-possible-effort to resume from where it left off

Default: False

--warmup_sec

Perform a staggered start over the specified period, so that jobs dont sync up or all write to disk at similar times.

Default: 0

--cleanup

Possible choices: all, big_files, none, except_logs, except_crashed

What files should be cleaned up by the manager as it runs?

Default: 'none'

--configs

List of gin config names to pass through to all underlying scene generation jobs.

Default: []

-p, --overrides

List of gin overrides to pass through to all underlying scene generation jobs

Default: []

--wandb_mode

Possible choices: online, offline, disabled

Mode kwarg for wandb.init(). Set up wandb before use.

Default: 'disabled'

--pipeline_configs

List of gin config names from tools/pipeline_configs to configure this execution

--pipeline_overrides

List of gin overrides to configure this execution

Default: []

--overwrite

Default: False

-d, --debug

Default: 30

-v, --verbose
--print_stats

Default: 1