639 Commits

Author SHA1 Message Date
Jeremy Reizenstein
6c416b319c remove PyTorch 1.4 builds
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
2021-08-23 08:32:41 -07:00
Jeremy Reizenstein
77fa5987b8 check for cyclic deps
Summary: New test that each subpackage of pytorch3d imports cleanly.

Reviewed By: patricklabatut

Differential Revision: D30001632

fbshipit-source-id: ca8dcac94491fc22f33602b3bbef481cba927094
2021-08-23 06:16:40 -07:00
Pyre Bot Jr
fadec970c9 suppress errors in vision/fair/pytorch3d
Differential Revision: D30479084

fbshipit-source-id: 6b22dd0afe4dfb1be6249e43a56657519f11dcf1
2021-08-22 23:39:37 -07:00
Jeremy Reizenstein
1ea2b7272a sample_pdf CUDA and C++ implementations.
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
2021-08-17 08:07:55 -07:00
Jeremy Reizenstein
7d7d00f288 Move sample_pdf into PyTorch3D
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
2021-08-17 08:07:55 -07:00
Jeremy Reizenstein
b481cfbd01 Correct shape for default grid_sizes
Summary: Small fix for omitting this argument.

Reviewed By: nikhilaravi

Differential Revision: D29548610

fbshipit-source-id: f25032fab3faa2f09006f5fcf8628138555f2f20
2021-08-17 05:59:07 -07:00
Jeremy Reizenstein
46cf1970ac cpu benchmarks for points to volumes
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
2021-08-17 05:59:07 -07:00
Jeremy Reizenstein
5491b46511 Points2vols doc fixes
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
2021-08-17 05:59:07 -07:00
Jeremy Reizenstein
ae1387b523 let build tests run in conda
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
2021-08-17 04:26:27 -07:00
Jeremy Reizenstein
b0dd0c8821 rename master branch to main
Summary: Change doc references to master branch to its new name main.

Reviewed By: nikhilaravi

Differential Revision: D30303018

fbshipit-source-id: cfdbb207dfe3366de7e0ca759ed56f4b8dd894d1
2021-08-16 04:06:53 -07:00
Nikhila Ravi
103da63393 Ball Query
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
2021-08-12 14:06:32 -07:00
Jeremy Reizenstein
e5c58a8a8b Test website metadata
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
2021-08-12 05:07:55 -07:00
Jeremy Reizenstein
64faedfd57 Add new doc and new tutorials to website
Summary: Recent additions need to be included.

Reviewed By: nikhilaravi

Differential Revision: D30223717

fbshipit-source-id: 4b29a4132ea6fb7c1a530aac5d1e36aa61c663bb
2021-08-12 05:07:55 -07:00
Pyre Bot Jr
9db70400d8 suppress errors in fbcode/vision - batch 2
Differential Revision: D30222339

fbshipit-source-id: 97d498df72ef897b8dc2405764e3ffd432082e3c
2021-08-10 10:21:59 -07:00
Nikhila Ravi
804117833e Fix to allow cameras in the renderer forward pass
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
2021-08-09 11:42:50 -07:00
Jeremy Reizenstein
4046677cf1 version 0.5.0
Summary: PyTorch3D version 0.5.0

Reviewed By: patricklabatut

Differential Revision: D29538174

fbshipit-source-id: 332516faa1d8e7bfa7c74ec3fecddc55439e2550
v0.5.0
2021-08-03 08:10:52 -07:00
Jeremy Reizenstein
addbe49de1 update tutorials for new prebuilt version
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
2021-08-03 08:10:52 -07:00
Jeremy Reizenstein
4d2c0600f6 update INSTALL.md for next release
Summary: New Python, new PyTorches.

Reviewed By: patricklabatut

Differential Revision: D29538175

fbshipit-source-id: f7086ef84a2993c760a1b1f668a3336e898c801e
2021-08-03 08:10:52 -07:00
Jeremy Reizenstein
5ecce83217 PyTorch 1.4 compat
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
2021-08-03 08:10:52 -07:00
CodemodService Bot
55aaec4d83 Daily arc lint --take BLACK
Reviewed By: wynsmart

Differential Revision: D30065248

fbshipit-source-id: 600915ab43d3d6d4846f60f976391f9dc1d77d10
2021-08-03 04:34:21 -07:00
Georgia Gkioxari
0c32f094af NDC/screen cameras API fix, compatibility with renderer
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
2021-08-02 01:01:10 -07:00
Patrick Labatut
9a14f54e8b Fix circular import
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
2021-07-30 03:06:15 -07:00
Yida Wang
5eec5e289e remove type error suppressions in nerf_data_module
Summary: Remove `pyre-fixme` and `pyre-ignore` and fix the type errors.

Reviewed By: kandluis

Differential Revision: D29899546

fbshipit-source-id: dc8314f314bbc8acc002b8dbf21013cf3bafe65d
2021-07-27 17:32:41 -07:00
Roman Shapovalov
e794d062e8 Improving RayBundle docstrings
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
2021-07-23 09:33:17 -07:00
Jeremy Reizenstein
1872e0249c path_manager in obj_io
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
2021-07-19 05:44:20 -07:00
Jeremy Reizenstein
9e8d91ebf9 restore build tests
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
2021-07-19 05:44:20 -07:00
Alexey Sidnev
bcee361d04 Replace torch.det() with manual implementation for 3x3 matrix
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
2021-07-19 05:02:51 -07:00
Alexey Sidnev
2f668ecefe Disable gradient calculation in _check_valid_rotation_matrix()
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
2021-07-16 01:58:29 -07:00
Roman Shapovalov
0c02ae907e Adding utility methods to TensorProperties
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
2021-07-13 10:29:26 -07:00
Christoph Lassner
fa44a05567 Fixing a bug that prevents opacity gradient calculation if no other gradients are required.
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
2021-07-10 01:06:56 -07:00
Christoph Lassner
75432a0695 Add OpenCV camera conversion; fix bug for camera unified PyTorch3D interface.
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
2021-07-10 01:06:56 -07:00
Patrick Labatut
fef5bcd8f9 Use rotation matrices for OpenCV / PyTorch3D conversions
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
2021-07-09 10:26:34 -07:00
Pyre Bot Jr
44d2a9b623 suppress errors in vision/fair/pytorch3d
Differential Revision: D29573014

fbshipit-source-id: 87083e30d757fcceb4e380edc9973e07e6da6c76
2021-07-06 17:29:37 -07:00
Jeremy Reizenstein
10eb3892da Downloads from utils in a couple of tutorials
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
2021-07-06 15:32:24 -07:00
Jeremy Reizenstein
68a35543d5 xcode update for mac builds
Summary: Avoid using old xcode which CircleCI say is deprecated.

Reviewed By: patricklabatut

Differential Revision: D29538176

fbshipit-source-id: 1e2ae4845d42365c778536446958966bbecf188c
2021-07-05 06:09:28 -07:00
David Novotny
4426a9d12c RayBundle visualization
Summary: Extends plotly_vis to visualize `RayBundle`s.

Reviewed By: patricklabatut

Differential Revision: D29014098

fbshipit-source-id: 4dee426510a1fa53d4afefbe1bcdd003684c9932
2021-07-01 17:31:01 -07:00
Jeremy Reizenstein
62ff77b49a points2volumes benchmark run alone
Summary: Enable this benchmark to be run on its own, like others.

Reviewed By: patricklabatut

Differential Revision: D29522846

fbshipit-source-id: c7b3b5c9a0fcdeeb79d8b2ec197684b4380aa547
2021-07-01 16:08:40 -07:00
Jeremy Reizenstein
61754b2fac lint fixes
Summary: Fixing recent lint problems.

Reviewed By: patricklabatut

Differential Revision: D29522647

fbshipit-source-id: 9bd89fbfa512ecd7359ec355cf12b16fb7024b47
2021-07-01 16:08:40 -07:00
Patrick Labatut
5615f072d7 Add missing common module to auto-generated documentation
Summary: Add missing common module to auto-generated documentation

Reviewed By: nikhilaravi

Differential Revision: D29429687

fbshipit-source-id: fcbd02bda959b0f5674c344d17ce3f36ac4b85ae
2021-06-29 15:37:33 -07:00
Pyre Bot Jr
14f7fe4a65 suppress errors in fbcode/vision - batch 2
Differential Revision: D29458533

fbshipit-source-id: d9ef216fdbb677e49371ad91ea5e9355146c1c52
2021-06-29 09:49:16 -07:00
Jeremy Reizenstein
b8790474f1 work with old linalg
Summary: solve and lstsq have moved around in torch. Cope with both.

Reviewed By: patricklabatut

Differential Revision: D29302316

fbshipit-source-id: b34f0b923e90a357f20df359635929241eba6e74
2021-06-28 06:31:35 -07:00
Patrick Labatut
5284de6e97 Deprecate so3_exponential_map
Summary: Deprecate the `so3_exponential_map()` function in favor of its alias `so3_exp_map()`: this aligns with the naming of `so3_log_map()` and the recently introduced `se3_exp_map()` / `se3_log_map()` pair.

Reviewed By: bottler

Differential Revision: D29329966

fbshipit-source-id: b6f60b9e86b2995f70b1fbeb16f9feea05c55de9
2021-06-28 04:28:06 -07:00
Patrick Labatut
f593bfd3c2 More type annotations
Summary: More type annotations: device, shaders, pluggable I/O, stats in NeRF project, cameras, textures, etc...

Reviewed By: nikhilaravi

Differential Revision: D29327396

fbshipit-source-id: cdf0ceaaa010e22423088752688c8dd81f1acc3c
2021-06-25 19:56:25 -07:00
Nikhila Ravi
542e2e7c07 Save UV texture with obj mesh
Summary: Add functionality to to save an `.obj` file with associated UV textures: `.png` image and `.mtl` file as well as saving verts_uvs and faces_uvs to the `.obj` file.

Reviewed By: bottler

Differential Revision: D29337562

fbshipit-source-id: 86829b40dae9224088b328e7f5a16eacf8582eb5
2021-06-24 15:56:01 -07:00
Patrick Labatut
64289a491d Annotate dunder functions
Summary: Annotate the (return type of the) following dunder functions across the codebase: `__init__()`, `__len__()`, `__getitem__()`

Reviewed By: nikhilaravi

Differential Revision: D29001801

fbshipit-source-id: 928d9e1c417ffe01ab8c0445311287786e997c7c
2021-06-24 15:19:16 -07:00
Pyre Bot Jr
35855bf860 suppress errors in vision/fair/pytorch3d
Differential Revision: D29360359

fbshipit-source-id: 9e91e8499a23e30a5fc39f8f6444b2db9f6b4142
2021-06-24 05:33:55 -07:00
Georgia Gkioxari
07a5a68d50 refactor laplacian matrices
Summary:
Refactor of all functions to compute laplacian matrices in one file.
Support for:
* Standard Laplacian
* Cotangent Laplacian
* Norm Laplacian

Reviewed By: nikhilaravi

Differential Revision: D29297466

fbshipit-source-id: b96b88915ce8ef0c2f5693ec9b179fd27b70abf9
2021-06-24 03:53:21 -07:00
Christoph Lassner
da9974b416 Add PyTorch3D->OpenCV camera parameter conversion.
Summary: This diff implements the inverse of D28992470 (8006842f2a): a function to extract OpenCV convention camera parameters from a PyTorch3D `PerspectiveCameras` object. This is the first part of the new PyTorch3d<>OpenCV<>Pulsar conversion functions.

Reviewed By: patricklabatut

Differential Revision: D29278411

fbshipit-source-id: 68d4555b508dbe8685d8239443f839d194cc2484
2021-06-23 14:38:41 -07:00
Patrick Labatut
e4039aa570 Remove _C pyre fixmes
Summary:
Get rid of pyre fixmes related to importing a native module:
- add stub file for the `_C` native extension to the internal typeshed
- add initial annotations to the new stub file
- remove the now unnecessary pyre ignores

Reviewed By: nikhilaravi

Differential Revision: D28929467

fbshipit-source-id: 6525e15c8f27215a3ff6f78392925fd0ed6ec2ac
2021-06-22 18:36:20 -07:00
Nikhila Ravi
de72049fe5 Create stale.yml (#721)
Summary:
Github action to close issues/PRs that are not labelled with "enhancement" or "how-to" if they have not had any activity in 30 days.

Pull Request resolved: https://github.com/facebookresearch/pytorch3d/pull/721

Reviewed By: bottler

Differential Revision: D29309817

Pulled By: nikhilaravi

fbshipit-source-id: 039f6d4f29e9d04c01f59d145317a34ad75026a5
2021-06-22 16:30:56 -07:00