Download submodules/pytorch3d/tests/benchmarks/bm_points_alignment.py from vegagoto123/UIKA: direct link, hf CLI and curl.
- Browser
- Download file 2.34 kB
-
https://huggingface.co/vegagoto123/UIKA/resolve/main/submodules/pytorch3d/tests/benchmarks/bm_points_alignment.py
- Command line
-
hf download hf://vegagoto123/UIKA/submodules/pytorch3d/tests/benchmarks/bm_points_alignment.py
-
curl -L -o bm_points_alignment.py https://huggingface.co/vegagoto123/UIKA/resolve/main/submodules/pytorch3d/tests/benchmarks/bm_points_alignment.py
2.34 kB
| # 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. | |
| from copy import deepcopy | |
| from itertools import product | |
| from fvcore.common.benchmark import benchmark | |
| from tests.test_points_alignment import TestCorrespondingPointsAlignment, TestICP | |
| def bm_iterative_closest_point() -> None: | |
| case_grid = { | |
| "batch_size": [1, 10], | |
| "dim": [3, 20], | |
| "n_points_X": [100, 1000], | |
| "n_points_Y": [100, 1000], | |
| "use_pointclouds": [False], | |
| } | |
| test_args = sorted(case_grid.keys()) | |
| test_cases = product(*case_grid.values()) | |
| kwargs_list = [dict(zip(test_args, case)) for case in test_cases] | |
| # add the use_pointclouds=True test cases whenever we have dim==3 | |
| kwargs_to_add = [] | |
| for entry in kwargs_list: | |
| if entry["dim"] == 3: | |
| entry_add = deepcopy(entry) | |
| entry_add["use_pointclouds"] = True | |
| kwargs_to_add.append(entry_add) | |
| kwargs_list.extend(kwargs_to_add) | |
| benchmark( | |
| TestICP.iterative_closest_point, | |
| "IterativeClosestPoint", | |
| kwargs_list, | |
| warmup_iters=1, | |
| ) | |
| def bm_corresponding_points_alignment() -> None: | |
| case_grid = { | |
| "allow_reflection": [True, False], | |
| "batch_size": [1, 10, 100], | |
| "dim": [3, 20], | |
| "estimate_scale": [True, False], | |
| "n_points": [100, 10000], | |
| "random_weights": [False, True], | |
| "use_pointclouds": [False], | |
| } | |
| test_args = sorted(case_grid.keys()) | |
| test_cases = product(*case_grid.values()) | |
| kwargs_list = [dict(zip(test_args, case)) for case in test_cases] | |
| # add the use_pointclouds=True test cases whenever we have dim==3 | |
| kwargs_to_add = [] | |
| for entry in kwargs_list: | |
| if entry["dim"] == 3: | |
| entry_add = deepcopy(entry) | |
| entry_add["use_pointclouds"] = True | |
| kwargs_to_add.append(entry_add) | |
| kwargs_list.extend(kwargs_to_add) | |
| benchmark( | |
| TestCorrespondingPointsAlignment.corresponding_points_alignment, | |
| "CorrespodingPointsAlignment", | |
| kwargs_list, | |
| warmup_iters=1, | |
| ) | |
| if __name__ == "__main__": | |
| bm_corresponding_points_alignment() | |
| bm_iterative_closest_point() | |