pytorch3d/tests/benchmarks/bm_render_volumes.py
Jeremy Reizenstein a0e2d2e3c3 move benchmarks to separate directory
Summary: Move benchmarks to a separate directory as tests/ is getting big.

Reviewed By: nikhilaravi

Differential Revision: D32885462

fbshipit-source-id: a832662a494ee341ab77d95493c95b0af0a83f43
2021-12-07 10:26:50 -08:00

29 lines
1001 B
Python

# Copyright (c) Facebook, Inc. and its affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
import itertools
from fvcore.common.benchmark import benchmark
from pytorch3d.renderer import AbsorptionOnlyRaymarcher, EmissionAbsorptionRaymarcher
from test_render_volumes import TestRenderVolumes
def bm_render_volumes() -> None:
case_grid = {
"volume_size": [tuple([17] * 3), tuple([129] * 3)],
"batch_size": [1, 5],
"shape": ["sphere", "cube"],
"raymarcher_type": [EmissionAbsorptionRaymarcher, AbsorptionOnlyRaymarcher],
"n_rays_per_image": [64 ** 2, 256 ** 2],
"n_pts_per_ray": [16, 128],
}
test_cases = itertools.product(*case_grid.values())
kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases]
benchmark(
TestRenderVolumes.renderer, "VOLUME_RENDERER", kwargs_list, warmup_iters=1
)