mirror of
https://github.com/facebookresearch/pytorch3d.git
synced 2025-08-01 03:12:49 +08:00
Summary: Move testing targets from pytorch3d/tests/TARGETS to pytorch3d/TARGETS. Reviewed By: shapovalov Differential Revision: D36186940 fbshipit-source-id: a4c52c4d99351f885e2b0bf870532d530324039b
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
# Copyright (c) Meta Platforms, Inc. and 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
|
|
|
|
import torch
|
|
from fvcore.common.benchmark import benchmark
|
|
from pytorch3d.ops import estimate_pointcloud_normals
|
|
from tests.test_points_normals import TestPCLNormals
|
|
|
|
|
|
def to_bm(num_points, use_symeig_workaround):
|
|
device = torch.device("cuda:0")
|
|
points_padded, _normals = TestPCLNormals.init_spherical_pcl(
|
|
num_points=num_points, device=device, use_pointclouds=False
|
|
)
|
|
torch.cuda.synchronize()
|
|
|
|
def run():
|
|
estimate_pointcloud_normals(
|
|
points_padded, use_symeig_workaround=use_symeig_workaround
|
|
)
|
|
torch.cuda.synchronize()
|
|
|
|
return run
|
|
|
|
|
|
def bm_points_normals() -> None:
|
|
case_grid = {
|
|
"use_symeig_workaround": [True, False],
|
|
"num_points": [3000, 6000],
|
|
}
|
|
test_cases = itertools.product(*case_grid.values())
|
|
kwargs_list = [dict(zip(case_grid.keys(), case)) for case in test_cases]
|
|
benchmark(
|
|
to_bm,
|
|
"normals",
|
|
kwargs_list,
|
|
warmup_iters=1,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
bm_points_normals()
|