- 23 Aug, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: We won't support PyTorch 1.4 in the next release. PyTorch 1.5.0 came out in June 2020, more than a year ago. Reviewed By: patricklabatut Differential Revision: D30424388 fbshipit-source-id: 25499096066c9a2b909a0550394f5210409f0d74
-
Jeremy Reizenstein authored
Summary: New test that each subpackage of pytorch3d imports cleanly. Reviewed By: patricklabatut Differential Revision: D30001632 fbshipit-source-id: ca8dcac94491fc22f33602b3bbef481cba927094
-
Pyre Bot Jr authored
Differential Revision: D30479084 fbshipit-source-id: 6b22dd0afe4dfb1be6249e43a56657519f11dcf1
-
- 17 Aug, 2021 6 commits
-
-
Jeremy Reizenstein authored
Summary: Implement the sample_pdf function from the NeRF project as compiled operators.. The binary search (in searchsorted) is replaced with a low tech linear search, but this is not a problem for the envisaged numbers of bins. Reviewed By: gkioxari Differential Revision: D26312535 fbshipit-source-id: df1c3119cd63d944380ed1b2657b6ad81d743e49
-
Jeremy Reizenstein authored
Summary: Copy the sample_pdf operation from the NeRF project in to PyTorch3D, in preparation for optimizing it. Reviewed By: gkioxari Differential Revision: D27117930 fbshipit-source-id: 20286b007f589a4c4d53ed818c4bc5f2abd22833
-
Jeremy Reizenstein authored
Summary: Small fix for omitting this argument. Reviewed By: nikhilaravi Differential Revision: D29548610 fbshipit-source-id: f25032fab3faa2f09006f5fcf8628138555f2f20
-
Jeremy Reizenstein authored
Summary: Add a CPU version to the benchmarks. ``` Benchmark Avg Time(μs) Peak Time(μs) Iterations -------------------------------------------------------------------------------- ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_1000 10100 46422 50 ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_10000 28442 32100 18 ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[25, 25, 25]_100000 241127 254269 3 ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_1000 54149 79480 10 ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_10000 125459 212734 4 ADD_POINTS_TO_VOLUMES_cpu_10_trilinear_[101, 111, 121]_100000 512739 512739 1 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_1000 2866 13365 175 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_10000 7026 12604 72 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[25, 25, 25]_100000 48822 55607 11 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_1000 38098 38576 14 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_10000 48006 54120 11 ADD_POINTS_TO_VOLUMES_cpu_10_nearest_[101, 111, 121]_100000 131563 138536 4 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_1000 64615 91735 8 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_10000 228815 246095 3 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[25, 25, 25]_100000 3086615 3086615 1 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_1000 464298 465292 2 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_10000 1053440 1053440 1 ADD_POINTS_TO_VOLUMES_cpu_100_trilinear_[101, 111, 121]_100000 6736236 6736236 1 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_1000 11940 12440 42 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_10000 56641 58051 9 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[25, 25, 25]_100000 711492 711492 1 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_1000 326437 329846 2 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_10000 418514 427911 2 ADD_POINTS_TO_VOLUMES_cpu_100_nearest_[101, 111, 121]_100000 1524285 1524285 1 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_1000 5949 13602 85 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_10000 5817 13001 86 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[25, 25, 25]_100000 23833 25971 21 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_1000 9029 16178 56 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_10000 11595 18601 44 ADD_POINTS_TO_VOLUMES_cuda:0_10_trilinear_[101, 111, 121]_100000 46986 47344 11 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_1000 2554 9747 196 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_10000 2676 9537 187 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[25, 25, 25]_100000 6567 14179 77 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_1000 5840 12811 86 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_10000 6102 13128 82 ADD_POINTS_TO_VOLUMES_cuda:0_10_nearest_[101, 111, 121]_100000 11945 11995 42 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_1000 7642 13671 66 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_10000 25190 25260 20 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[25, 25, 25]_100000 212018 212134 3 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_1000 40421 45692 13 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_10000 92078 92132 6 ADD_POINTS_TO_VOLUMES_cuda:0_100_trilinear_[101, 111, 121]_100000 457211 457229 2 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_1000 3574 10377 140 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_10000 7222 13023 70 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[25, 25, 25]_100000 48127 48165 11 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_1000 34732 35295 15 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_10000 43050 51064 12 ADD_POINTS_TO_VOLUMES_cuda:0_100_nearest_[101, 111, 121]_100000 106028 106058 5 -------------------------------------------------------------------------------- ``` Reviewed By: patricklabatut Differential Revision: D29522830 fbshipit-source-id: 1e857db03613b0c6afcb68a58cdd7ba032e1a874
-
Jeremy Reizenstein authored
Summary: Fixes to a couple of comments on points to volumes, make the mask work in round_points_to_volumes, and remove a duplicate rand calculation Reviewed By: nikhilaravi Differential Revision: D29522845 fbshipit-source-id: 86770ba37ef3942b909baf63fd73eed1399635b6
-
Jeremy Reizenstein authored
Summary: Much of the code is actually available during the conda tests, as long as we look in the right place. We enable some of them. Reviewed By: nikhilaravi Differential Revision: D30249357 fbshipit-source-id: 01c57b6b8c04442237965f23eded594aeb90abfb
-
- 16 Aug, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Change doc references to master branch to its new name main. Reviewed By: nikhilaravi Differential Revision: D30303018 fbshipit-source-id: cfdbb207dfe3366de7e0ca759ed56f4b8dd894d1
-
- 12 Aug, 2021 3 commits
-
-
Nikhila Ravi authored
Summary: Implementation of ball query from PointNet++. This function is similar to KNN (find the neighbors in p2 for all points in p1). These are the key differences: - It will return the **first** K neighbors within a specified radius as opposed to the **closest** K neighbors. - As all the points in p2 do not need to be considered to find the closest K, the algorithm is much faster than KNN when p2 has a large number of points. - The neighbors are not sorted - Due to the radius threshold it is not guaranteed that there will be K neighbors even if there are more than K points in p2. - The padding value for `idx` is -1 instead of 0. # Note: - Some of the code is very similar to KNN so it could be possible to modify the KNN forward kernels to support ball query. - Some users might want to use kNN with ball query - for this we could provide a wrapper function around the current `knn_points` which enables applying the radius threshold afterwards as an alternative. This could be called `ball_query_knn`. Reviewed By: jcjohnson Differential Revision: D30261362 fbshipit-source-id: 66b6a7e0114beff7164daf7eba21546ff41ec450
-
Jeremy Reizenstein authored
Summary: New test that notes and tutorials are listed in the website metadata, so that they will be included in the website build. Reviewed By: nikhilaravi Differential Revision: D30223799 fbshipit-source-id: 2dca9730b54e68da2fd430a7b47cb7e18814d518
-
Jeremy Reizenstein authored
Summary: Recent additions need to be included. Reviewed By: nikhilaravi Differential Revision: D30223717 fbshipit-source-id: 4b29a4132ea6fb7c1a530aac5d1e36aa61c663bb
-
- 10 Aug, 2021 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D30222339 fbshipit-source-id: 97d498df72ef897b8dc2405764e3ffd432082e3c
-
- 09 Aug, 2021 1 commit
-
-
Nikhila Ravi authored
Summary: Fix to resolve GitHub issue #796 - the cameras were being passed in the renderer forward pass instead of at initialization. The rasterizer was correctly using the cameras passed in the `kwargs` for the projection, but the `cameras` are still part of the `kwargs` for the `get_screen_to_ndc_transform` and `get_ndc_to_screen_transform` functions which is causing issues about duplicate arguments. Reviewed By: bottler Differential Revision: D30175679 fbshipit-source-id: 547e88d8439456e728fa2772722df5fa0fe4584d
-
- 03 Aug, 2021 5 commits
-
-
Jeremy Reizenstein authored
Summary: PyTorch3D version 0.5.0 Reviewed By: patricklabatut Differential Revision: D29538174 fbshipit-source-id: 332516faa1d8e7bfa7c74ec3fecddc55439e2550
-
Jeremy Reizenstein authored
Summary: At the next release, the prebuilt PyTorch3D wheels will depend on PyTorch 1.9.0. Update the tutorials to expect this. Reviewed By: nikhilaravi Differential Revision: D29614450 fbshipit-source-id: 39978a6a55b62fb7c7e62aaa8f138e47cadd631e
-
Jeremy Reizenstein authored
Summary: New Python, new PyTorches. Reviewed By: patricklabatut Differential Revision: D29538175 fbshipit-source-id: f7086ef84a2993c760a1b1f668a3336e898c801e
-
Jeremy Reizenstein authored
Summary: Restore compatibility with PyTorch 1.4 and 1.5, and a few lint fixes. Reviewed By: patricklabatut Differential Revision: D30048115 fbshipit-source-id: ee05efa7c625f6079fb06a3cc23be93e48df9433
-
CodemodService Bot authored
Reviewed By: wynsmart Differential Revision: D30065248 fbshipit-source-id: 600915ab43d3d6d4846f60f976391f9dc1d77d10
-
- 02 Aug, 2021 1 commit
-
-
Georgia Gkioxari authored
Summary: API fix for NDC/screen cameras and compatibility with PyTorch3D renderers. With this new fix: * Users can define cameras and `transform_points` under any coordinate system conventions. The transformation applies the camera K and RT to the input points, not regarding for PyTorch3D conventions. So this makes cameras completely independent from PyTorch3D renderer. * Cameras can be defined either in NDC space or screen space. For existing ones, FoV cameras are in NDC space. Perspective/Orthographic can be defined in NDC or screen space. * The interface with PyTorch3D renderers happens through `transform_points_ndc` which transforms points to the NDC space and assumes that input points are provided according to PyTorch3D conventions. * Similarly, `transform_points_screen` transforms points to screen space and again assumes that input points are under PyTorch3D conventions. * For Orthographic/Perspective cameras, if they are defined in screen space, the `get_ndc_camera_transform` allows points to be converted to NDC for use for the renderers. Reviewed By: nikhilaravi Differential Revision: D26932657 fbshipit-source-id: 1a964e3e7caa54d10c792cf39c4d527ba2fb2e79
-
- 30 Jul, 2021 1 commit
-
-
Patrick Labatut authored
Summary: This fixes a recently introduced circular import: the problem went unnoticed by having `pytorch3d.renderer` imported first... Reviewed By: bottler Differential Revision: D29686235 fbshipit-source-id: 4b9f2faecec2cc8347ee259cfc359dc9e4f67784
-
- 28 Jul, 2021 1 commit
-
-
Yida Wang authored
Summary: Remove `pyre-fixme` and `pyre-ignore` and fix the type errors. Reviewed By: kandluis Differential Revision: D29899546 fbshipit-source-id: dc8314f314bbc8acc002b8dbf21013cf3bafe65d
-
- 23 Jul, 2021 1 commit
-
-
Roman Shapovalov authored
Summary: This changes only documentation. We want to be explicit that ray directions are not normalised (nor assumed to be normalised) but their magnitude is used. Reviewed By: nikhilaravi Differential Revision: D29845210 fbshipit-source-id: b81fb3da13a42ad20e8721ed5271fd4f3d8f5acb
-
- 19 Jul, 2021 3 commits
-
-
Jeremy Reizenstein authored
Summary: Use PathManager for checking file existence, rather than assuming the path is a local file, in a couple of cases. Reviewed By: patricklabatut Differential Revision: D29734621 fbshipit-source-id: e2236a7c2c50ba6916936a4d786abd601205b519
-
Jeremy Reizenstein authored
Summary: A bad env var check meant these tests were not being run. Fix that, and fix the copyright test for the new message format. Reviewed By: patricklabatut Differential Revision: D29734562 fbshipit-source-id: a1a9bb68901b09c71c7b4ff81a04083febca8d50
-
Alexey Sidnev authored
Summary: # Background There is an unstable error during training (it can happen after several minutes or after several hours). The error is connected to `torch.det()` function in `_check_valid_rotation_matrix()`. if I remove the function `torch.det()` in `_check_valid_rotation_matrix()` or remove the whole functions `_check_valid_rotation_matrix()` the error is disappeared (D29555876). # Solution Replace `torch.det()` with manual implementation for 3x3 matrix. Reviewed By: patricklabatut Differential Revision: D29655924 fbshipit-source-id: 41bde1119274a705ab849751ece28873d2c45155
-
- 16 Jul, 2021 1 commit
-
-
Alexey Sidnev authored
Summary: # Make `transform3d.py` a little bit better (performance and code quality) ## 1. Add decorator `torch.no_grad()` to the function `_check_valid_rotation_matrix()` Function `_check_valid_rotation_matrix()` is needed to identify errors during forward pass only, it's not used for gradients. ## 2. Replace two calls `to` with the single one Reviewed By: bottler Differential Revision: D29656501 fbshipit-source-id: 4419e24dbf436c1b60abf77bda4376fb87a593be
-
- 13 Jul, 2021 1 commit
-
-
Roman Shapovalov authored
Summary: Context: in the code we are releasing with CO3D dataset, we use `cuda()` on TensorProperties like Pointclouds and Cameras where we recursively move batch to a GPU. It would be good to push it to a release so we don’t need to depend on the nightly build. Additionally, I aligned the logic of `.to("cuda")` without device index to the one of `torch.Tensor` where the current device is populated to index. It should not affect any actual use cases but some tests had to be changed. Reviewed By: bottler Differential Revision: D29659529 fbshipit-source-id: abe58aeaca14bacc68da3e6cf5ae07df3353e3ce
-
- 10 Jul, 2021 2 commits
-
-
Christoph Lassner authored
Summary: An early-return test for gradient calculation did not include the opacity gradient calculation - hence would also return early without calculating gradients even if opacity gradients are required. Reviewed By: bottler Differential Revision: D29505684 fbshipit-source-id: 575e820b8f58b19476b2fe3288702806733e840b
-
Christoph Lassner authored
Summary: This commit adds a new camera conversion function for OpenCV style parameters to Pulsar parameters to the library. Using this function it addresses a bug reported here: https://fb.workplace.com/groups/629644647557365/posts/1079637302558095, by using the PyTorch3D->OpenCV->Pulsar chain instead of the original direct conversion function. Both conversions are well-tested and an additional test for the full chain has been added, resulting in a more reliable solution requiring less code. Reviewed By: patricklabatut Differential Revision: D29322106 fbshipit-source-id: 13df13c2e48f628f75d9f44f19ff7f1646fb7ebd
-
- 09 Jul, 2021 1 commit
-
-
Patrick Labatut authored
Summary: Use rotation matrices for OpenCV / PyTorch3D conversions: this avoids hiding issues with conversions to / from axis-angle vectors and ensure new conversion functions have a consistent interface. Reviewed By: bottler, classner Differential Revision: D29634099 fbshipit-source-id: 40b28357914eb563fedea60a965dcf69e848ccfa
-
- 07 Jul, 2021 1 commit
-
-
Pyre Bot Jr authored
Differential Revision: D29573014 fbshipit-source-id: 87083e30d757fcceb4e380edc9973e07e6da6c76
-
- 06 Jul, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Fixes #514, so we don't assume user of the tutorial has access to utils. Reviewed By: nikhilaravi Differential Revision: D29557294 fbshipit-source-id: 10ac994be65df0822d3ee4e9d690189ff13074a2
-
- 05 Jul, 2021 1 commit
-
-
Jeremy Reizenstein authored
Summary: Avoid using old xcode which CircleCI say is deprecated. Reviewed By: patricklabatut Differential Revision: D29538176 fbshipit-source-id: 1e2ae4845d42365c778536446958966bbecf188c
-
- 02 Jul, 2021 1 commit
-
-
David Novotny authored
Summary: Extends plotly_vis to visualize `RayBundle`s. Reviewed By: patricklabatut Differential Revision: D29014098 fbshipit-source-id: 4dee426510a1fa53d4afefbe1bcdd003684c9932
-
- 01 Jul, 2021 2 commits
-
-
Jeremy Reizenstein authored
Summary: Enable this benchmark to be run on its own, like others. Reviewed By: patricklabatut Differential Revision: D29522846 fbshipit-source-id: c7b3b5c9a0fcdeeb79d8b2ec197684b4380aa547
-
Jeremy Reizenstein authored
Summary: Fixing recent lint problems. Reviewed By: patricklabatut Differential Revision: D29522647 fbshipit-source-id: 9bd89fbfa512ecd7359ec355cf12b16fb7024b47
-
- 29 Jun, 2021 2 commits
-
-
Patrick Labatut authored
Summary: Add missing common module to auto-generated documentation Reviewed By: nikhilaravi Differential Revision: D29429687 fbshipit-source-id: fcbd02bda959b0f5674c344d17ce3f36ac4b85ae
-
Pyre Bot Jr authored
Differential Revision: D29458533 fbshipit-source-id: d9ef216fdbb677e49371ad91ea5e9355146c1c52
-